add descriptor decorator