use sync form you can pass a callback but it is still sync