working on models and controllers