rest of the models and cleanup