controller inheritance