updated a lot

1) only add to completed arraylist if checksum is correct
2) made an arraylist for missing data. only that data will need to be requested again. it doesn't work completely right now
3) wrote the checkData method