implement redirection behavior