Adding changes

Adding support for intelligent recursive dependency support. This
doesn't work, will continue on another machine tomorrow.