move dependent code to another class
refactor remove dependency