refacto map