Back to old methods, reordered the structs, defines, and global variables to the top, should be no changes to binary