build system almost finished