Guidelines oop advanced