redesigned ASS functions