remove redundant code
add map