adds controller and driver code

adds driver code and first draft of controller