implemented mapFA