diff --git a/bucket_sort.c b/bucket_sort.c
index 014af8bb8a9d6e8fe88090e545e2d5336f566d55..1c0b4ff947b7f696d0b2e8ac9eb7ed9731f0158c 100644
--- a/bucket_sort.c
+++ b/bucket_sort.c
@@ -15,21 +15,21 @@ int *create_rand_nums(int num_elements) {
 } 
 
 int main(int argc, char** argv) {
-	if (argc != 2) {
-		fprintf(stderr, "Usage: avg num_elements\n");
+	if (argc != 3) {
+		fprintf(stderr, "Usage: avg num_elements nuim_thread\n");
 	}
 
 	srand(time(NULL)); 
 	 
 	int world_rank; 
 	int thread_count; 
-	
+	int position=0, order=0;
 	int i, j, k, l, t, rc, max = -RAND_MAX, min = RAND_MAX;
 	int total_elements =  atoi(argv[1]);
 	int range;
 	
 	int my_rank; 
-	int thread_count = omp_get_num_threads(); 
+	thread_count = atoi(argv[2]); 
 
 	
 	int inmsg[total_elements];
@@ -48,7 +48,7 @@ int main(int argc, char** argv) {
 	range = (max - min) / thread_count + ((max - min) % thread_count > 0);
 	//time_start = MPI_Wtime();
 	//bucketing
-	#pragma omp parallel num_threads(thread_count,position,order) \ shared(*rand_nums) private(bucket,i,j,k,my_rank)
+	#pragma omp parallel num_threads(thread_count,position,order) shared(rand_nums) private(bucket,i,j,k,my_rank)
 	my_rank = omp_get_thread_num();
 	for (j = 0; j < total_elements; j++) {
 		if ((rand_nums[j] < my_rank * range + range) && (rand_nums[j] >= my_rank * range)) {
@@ -74,7 +74,7 @@ int main(int argc, char** argv) {
 	
 	for (j = 0; j < total_elements; j++) {
 		if (bucket[j] >= 0) {
-			if (bucket[i][j] < RAND_MAX) {
+			if (bucket[j] < RAND_MAX) {
 				rand_nums[position] = bucket[j];
 				position++;
 			}
@@ -82,9 +82,13 @@ int main(int argc, char** argv) {
 	}
 	//time_stop = MPI_Wtime() - time_start;
 
-	if (rank_0 == 0) { 
+	if (my_rank == 3) { 		
+		for(j=0;j<total_elements;j++){
+			printf("%d",rand_nums[j]);
+		}
 		free(rand_nums);
-		printf("%d processes, %d elements, %.2lf seconds", thread_count, total_elements, time_stop);
+		
+		//printf("%d processes, %d elements, %.2lf seconds", thread_count, total_elements, time_stop);
 	}
 }  
 
diff --git a/main b/main
new file mode 100755
index 0000000000000000000000000000000000000000..91b7da3fb8bdd7a99ad1da4ae86fdf1906010917
Binary files /dev/null and b/main differ