args -> opts