did some tricks on read&write path