made ContactController private methods protected, so subclasses can easily override desired methods