list is templated