changed formatting and added description of structs and typedefs