added clone, map and remove functions