ongoing refactor/integration with devutils