add a 'async' option for async or sync

i think it's needed for sometimes we want sync.