add some new thing about struct