Refactored the numeric generation out