convert to read-write interface