split out controller