break out models into files
todo list