Testing complete

TODO:
- Clean up files
- Write comments
- Refactor, if time.