Started redesign using UML.

Made a basic model design but it still needs some work.