Version 1.0, compiles correctly

Needs testing!