more generator stuff