added header with struct typedefs