adding channel marshalling