using object.observe