completed refactoring idea section