functionality progression