add map construction