base for replacementcontroller