- tidy
- added accept method
- added tests
- current working state