sp: synchronously