fix base type generator and add types