make a read-write interface