implemented multiple write
implemented multiple read