No need to alloc them each time, let's use stack here + fix 2 big leaks