still working on object primitive transfer