[WIP] Feature/tests

this PR is currently in Progress

TODO:
- [ ] add tests for all classes
- [ ] change all incomplete tests with working (status 0%)

If you want help me on this PR. Send me a PR to my github repo, thanks.