diff --git a/src/radix_sort_par3.cu b/src/radix_sort_par3.cu
index 3669e6d663f864423e1088b870f8e9819ddb3e32..942a286d382d3b458de89904b82b0cd3b3f41112 100644
--- a/src/radix_sort_par3.cu
+++ b/src/radix_sort_par3.cu
@@ -15,7 +15,7 @@ int getMax(int arr[], int n)
 } 
   
 __global__ void storeCount(int *count, int *arr, int n){
-    for (i = 0; i < n; i++) 
+    for (int i = 0; i < n; i++) 
         count[ (arr[i]/exp)%10 ]++;
 }
 
@@ -117,8 +117,7 @@ int main(int argc, char *argv[])
 
     
     clock_gettime(CLOCK_REALTIME, &start);
-    radixsort<<<1,32>>>(d_arr,n);
-    cudaMemcpy(arr, d_arr, sizeof(int)*n,cudaMemcpyDeviceToHost);
+    radixsort(arr,n);
     clock_gettime(CLOCK_REALTIME, &stop);
     print(arr,n);
     
@@ -127,7 +126,6 @@ int main(int argc, char *argv[])
     printf("\n%d.%09d s\n", duration.tv_sec, duration.tv_nsec);
     
     //deallocate host memory
-    cudaFree(d_arr);
     
     return 0; 
 }