changed methodology from using a runtime value collection to a faster system of structs that uses more space