sprites moving at different speed but always the same force box2d

Hi I am using box2d to fire a bullet, my problem is that if I touch really close to the gun the bullet moves super slow but if I touch a long way away its super fast. I am using the linear Impulse force with box 2d. My code is below.
All help is greatly appreciated!

float pForce = 0.003;
        b2Vec2 forceDir = b2Vec2( ( touchx - bullet->getPositionX() ) * pForce ,
                                 ( touchy - bullet->getPositionY() ) * pForce );
        spriteBody->ApplyLinearImpulse(forceDir, spriteBody->GetWorldCenter());