plan to support prototype based oop