Last big pull request I make

- [ ] Fixes #77 
- [x] #93 
- [x] #100 
- [x] #101 
- [x] #102