add typedefs