UPDATE #20

A lot of changes, finally I've made it work properly.

Things to do:
1. Implement statistics
2. Clean up whole project.