added three new files for math and structs