allow use no callback