Refactoring Driver with methods