types generation fixed