organized which proc a little better explaining the redirect cases it supports, now keeping track of type (did some experiments with static functions)