implemented variadic functions