added join & map