refator module dependency