add vector:map and list:map func