need to make a check so it only gives them the reward once. Fix some more errors etc