Integrate Prototype into master 

Close the prototype and start working on the real deal. No more hacky workarounds.