more changes to models and add new controllers