Implementing gives/to
Caught really annoying shared reference bug