refactor f# code, add mapping screen