try to remember c# after functional programming