adding factory tests. accounting for instances where argument lengths are var variable and key variables might be null.