avoid extra hash allocation