refactoring to an alternative solution. All tests are doubled with calls
to the alternative solution