Channel API update
Simple routing and some code optimization