Finish implementing models + tests