switches to new() style and caches mappers globally