Let the left an exception, not an error
Add Promise (with naive implementation)