Rewrite all in more OOP-ish way
Add LICENSE
Update README.md