Revamped the header dependencies and added structs and defines in separate files