there is something very wrong with the RW class
still something wrong with RW class