Added Dave C's promise changes