makes multilevel server/client simpler