add and remove comments, refactor