Added new structs and methods, in progress