adding structs and fields, random code, not compiling right now, should be on a develop or feature branch