revised execute part.