refactor update_quality method and continue moving award specific logic into struct