Refactored the models a little.