deal with gcc 4.6 not handling using style typedefs
deal with type issues