DRYed up two controllers by creating a supercontroller