review fixes. don't use object.defineproperties