Use `promise` instead of `q`.