Uses proper async read/writes