clean code and complie