untested thumb generator, but passes linting