A lot of refactoring. This commit closed #13
Implemented data receiving hook