Init
Add the Map functor and improve various functions.