clean code and document