Rewrote the entire two projects to work with structs