add client and server prototype