Built initial architecture and classes

Still needs some work. Checking in for a snapshot of status.
Set up classes