add extended function with options for rank, percentage, and
normalize_score. dry op some functions.