fewer object creations in tight loops