generators are awesome