adds pointer state to the object rather than passing object around