added Q promises to service