async read & write functions added