base types generator