Cleaning, refactoring, documentation, PEP8