Moved new code into branch incase anyone still wanted to see old code