Implemented the datacontroller. Only need some commentary