explicitly definded fields in struct to prevent the previous error from happening again