fix circular dependency issue.