simplified channels handling both on server and client lib sides