resolved circular dependency issue