Assignment 1 v0.4

0.3 commit offline.

v0.4 Complete change coming.