made units more dynamic, used by seneca-web and seneca-data-editor