i think a basic working version with tchan