Design decent, moving on to try refactor code.