Combine files for clarity and add remaining structs