implemented basic dependency resolution