improved initSoap pattern