function overloading and default parameters