Author: Randrianarisoa, Pierre.