intital commit, model needs refactor