templated tests; still need to implement