add dynamic map functionality