optimize add list