do not need array of structs