add support for Lua-style vararg