refactored follows controller