Updated structs to work with arrays