- implemented nearly all channel functions now