This is Luke‘s kind of code. I might be catching the virus

```csharp abstract class QIFParserBase { public enum LoadOptions { All, Prices, Securities, Transactions } static readonly Dictionary> parseFuncs = new Dictionary> { {LoadOptions.All, (q,c) => q.ParseAll(c)}, {LoadOptions.Prices, (q,c) => q.ParsePricesBlocks(c)}, {LoadOptions.Securities, (q,c) => q.ParseSecurityBlocks(c)}, {LoadOptions.Transactions, (q,c) => q.ParseTransactionBlocks(c)} }; public QIFParserBase(string fileName, LoadOptions opt) { string content = File.ReadAllText(fileName); string[] blocks = content.Split(new string[] { “!Type:”, “!Option:” }, StringSplitOptions.RemoveEmptyEntries); parseFuncsopt; }