changed design for mapping