promise and parameters support