function overloading (closes #3)