struct changed to classes