add more flexible testing