changes to utilities and libraries. Untested.