added clientconnect()