An improved technique for the simulation of first passage times for diffusion processes