rename sort -> categorize
use better parameter names, instead of the default/inherited names
refactor: break method into pieces