add dependency evaluation and read