Improve DAL, controller and View