alternative speed calculation impl