updated callOnce