preparing base for solving circular reference problem