extensible generators