implement softdeps.
8 files changed