Removed code duplication. Added tests.
8 files changed