maybe better cleanup `psTemp` after the loop?