Whole project commit.

Since this project is older than it's github repo's creation date, I'm
commiting it like this. Code comments will be added later.