Refactoring: Redesign to handle redirects