Reworked variable argument functions