implement client channel cache
fix package structure
fixed a name shadowing bug