some work on channel bindings, prob still wrong