use a custom generator