Add room model and improve controller