9/26 final version of a1

Implement of everything
Forget to commit before