revise retain v1