first pass of new dependency system