driver emp calc refactored to decouple from UI