consolidated controllers, private methods