split controller and module