comment, clean and restructure