Updated with promises; passing all tests from the test suite