add dependency tracking