encapsulation techniques