why is the optional argument first and the mandatory argument second