change the async api to a synchronous one, trying to KISS