Tested and implemented pointer swaps. There was a change to the interface.

Change-Id: I4248f5ae707dbfc873203b148badd7d06d09ab25
Reviewed-on: http://www.matthewh.me/gerrit/50
Reviewed-by: Matthew Hoggan <mehoggan@gmail.com>
Tested-by: Matthew Hoggan <mehoggan@gmail.com>