Generator should work
refactor