UPDATE: include generic writer and readerwq