simplify changes -- use prototypeObject in constructor instead of static method