Finished Model API refactoring