fixing race

using call once