Tag: abstraction vs encapsulation