Updated datacontroller with new, more logic, methods