refactored tone length