some enhancements on dependency