miscelaneous utilities
