extensive client end