added names argument