added ability to pass additional keyword arguments