added new soap function