promises 99%
promises/refactoring