moar models

we gotta put some thought into this, because model schemas are somewhat
of a bitch to change after the rest of our code as been built around
it. gotta think about all the different functionalities we want to
allow for