build system and testing environment