controller skeletons to match routing