data modeling

Welp, I tried. Still not sure about testing, so I was only able to create the basic structure of them.