added open/ close, read, write