modify add and map