add better js support
remap 0 to ^ and vice versa