slightly faster b/c using .NET to read line by line