init oop implementation