@humphd do we really want to require this every time the function is called?