don't forget to load data onto GPU each iteration