Changed the models to interfaces