Add some docs to this so it is a little more clear what is happening