refactoring with structure101