fix optional/required arguments