instead of doing a simple summation of all atoms in an entity the summation is now done hierarchically, thereby reducing the rounding error