programming since 1984 but trying to improve from old fashioned pascal, basic and assembler cowboy style to clean patterns .NET C#