Added newest prototype
Merge with newest prototype
Finished merge with new prototype