Finished Model, need to refactor.