model and controller changes