Initial Implementation
Finished demo 1