ensure update function only called once
0.3.4