first tentative fsharp implementation work in progress