both client and server should work