async non-blocking api framework