Introduce promises to main API