added variadic args