map renderer refactored