Map optimisation.

close #1