Added abstract build system and test classes