added write operation