Data model changes

Added a bunch of things. Going to have to resolve merge conflicts before this is ready.