Added async, sync and timeout