Added jsChan as an alternative implementation