complete TR refactor, passing tests on forms