add read write struct new