better calculation?