Data Structure UML Diagram - Subject to change if necessary