controller refactor

Signed-off-by: Jeff Wells <jeff@jeffrwells.com>