More major work on model refactor