optimize slightly for larger lists