Add async read functionality