finalized refactoring structs into a sepearte file