moved hack controller to separate file