restored tests, all pass. Continue rewrite: finish builders first