process optional last arguments