update to use separate build directories so steps can be repeated sanely