i wonder why these methods on the base controller are public?