refactoring
cleaner
DRYing up