Move some functional to the module; refactor a bit
Add a solution to the problem 66