moved struct definitions to structs.h