First Complete Attempt

First commit of completed code