decorator update