add once function and none args