use structs not objects