modify to use LINQ