improve error reporting
add RepeatingGenerator