per MChark's comments, updated 1) to use **kwargs