tuesday commit, adding design and refactoring