dependency optimisation