even more generator code