Initial architecture
Update from class (mostly done)
Finish DAO layer implementation. (No testing)