builds cleanly