Initial soln to EMP problem.
Refactored code.
Refactored code.
Added docs