First working f# implementation
Merge remote-tracking branch 'Chanika/master'