More structs added
much more functionality