Complete restructuring
F# tomfoolery