map logic separated from text content and controlled by data