clean up and add object.observe