building out models and controllers