this doesn't need to be part of the public api - it's not useful outside of dingu itself.