better dependency analysis