prevent creation of Lists and use IEnumerable where possible