DRY refactoring
Clean
Better defaults