moved accept/decline back to controller, hopefully proper error handling