initial commit for the controller
tweak controller, add pusher support.