avoid cycle definition collisions on redefine