refactoring variadic number funcs