todo: pending if failed