Prototype

Merging prototype into master.