implemented succeed