only create the stringparser once to avoid unnecessary dynamic allocations every tick