re-thinking the dependency strategy
Working on Build System