clean the code and add design manual