First version with handling multiple clients