locations are now scanned into an array instead of read directly from the file