circular dependecies resolve