improved force calculation