requires three seperate clients