added multiple cache reader and writer