varyingUpdate() call self() twice