add basic support for prototype based oop