first commit
better speed but out of memory exception
three test generator types