refactored NoteLength