support jruby
guarantee the order
more test