diff --git a/7-1/main.go b/7-1/main.go
index 0bbf458..51e6b6e 100644
--- a/7-1/main.go
+++ b/7-1/main.go
@@ -6,6 +6,7 @@ import (
 	"fmt"
 	"math"
 	"os"
+	"sort"
 	"strconv"
 )
 
@@ -33,23 +34,46 @@ func main() {
 	}
 
 	min, max := findMinMax(numbers)
-	leastFuel := max
+	leastFuel := math.MaxInt
 	position := 0
 	for i := min; i < max; i++ {
 		fuel, _ := calculateFuel(numbers, i)
+		fmt.Printf("For position %d fuel costs %d\n", i, fuel)
 		if fuel < leastFuel {
 			leastFuel = fuel
 			position = i
 		}
 	}
 
-	fmt.Printf("The least amount of fuel is: %d at position %d", leastFuel, position)
+	// Calculating mean
+	total := 0.0
+	for i := 0; i < len(numbers); i++ {
+		total += float64(numbers[i])
+	}
+	mean := math.Round(total / float64(len(numbers)))
+	fmt.Printf("The average is: %f\n", mean)
+
+	// Calculating median
+	sort.Ints(numbers)
+	middle := len(numbers) / 2
+	median := 0.0
+	if middle%2 != 0 {
+		median = float64(numbers[middle])
+	} else {
+		median = float64((numbers[middle-1] + numbers[middle]) / 2)
+	}
+	fmt.Printf("The median is: %f\n", median)
+	fmt.Printf("The least amount of fuel is: %d at position %d\n", leastFuel, position)
 }
 
 func calculateFuel(numbers []int, target int) (int, error) {
 	fuel := 0
 	for i := 0; i < len(numbers); i++ {
-		fuel += int(math.Abs(float64((numbers[i] - target))))
+		couldBeNegative := (numbers[i] - target)
+		if couldBeNegative < 0 {
+			couldBeNegative = couldBeNegative * -1
+		}
+		fuel += couldBeNegative
 	}
 	return fuel, nil
 }