soap logic added