The second arg may be clobbered by this function