adding update_wrapper