re-implementing bullet, step2