don't enforce async