better dep handling