revamp dependency check