initial reference passing WIP