new redirect logic