moved generators into their own package