Initial commit of models work. Not sure if happy about structure.