oop structure