Revert "#16. Work is not finished. Some structure should be improved."

This reverts commit 58b28ae3059482bf45fcd61a5ba8aa55fa9a2a50.
Revert "#16 Is almost fixed. Test has to be finished."

This reverts commit 39b3d207066b49db6822ac1f69297e14e0ab6f92.