Refactoring & tried some generators.