typedefs added