add left-right move + class ReaderWriter