init works with any number of arguments