avoid allocation
Revert 3e6444a..c36a878

This rolls back to commit 3e6444a1d2fa22b01fff8cd465ca340b5f5e8fbf.