traverse all sorts of craziness