abstracting important triangle objects into own structs