Fixing custom rewrite rule

I see a second ? in your query variables (before the cls query variable), probably from experimenting with the commented-out form, I think you want to use & there.

Your query_vars hook currently adds the id variable, but you use cls and ch in your rewrite rule, so this will not have an effect.

If you are changing the rewrite rules I recommend my rewrite analyzer plugin (soon in the repository, but get the current version via Dropbox), it helps you debug these things.