ProxyServer added, refactor done accordingly