move controllers into a separate module, adding testing structure