xbrl builder refactor