add data structer