build system basics