use named argument for abbr
refactor