Clean code

The code architecture is updated. None of the issues are implemented.