pawn now with O(1) space