- restructured code for readability
- changed some code structures for efficiency
- introduced (not finished yet) phpunit
added gitignore