refactor for dependency-improvement