break out lots of dependencies