refactor so that new functionality is still compatible with old features like the formtranslate UI; fix tests