add dependency support