Support args in different orders
Add ci