implement base of the build system