use a template parameter pack to improve readability when adding systems