Redesign the buildsystem