revamp ext/soap