optional struct fields parsing added