* refactor -> re-organize package dependencies for make more clean