Added abstract client and server interfaces