The functionality hasn't changed this has just moved the code and updated the tests to provide better coverage