new build system from scratch