Describe this code as generally as possible:

def add(a, b):
    return a + b

def subtract(a, b):
    return a - b

def multiply(a, b):
    return a * b

def divide(a, b):
    return a / b

def power(base, exponent):
    result = 1
    for _ in range(exponent):
        result *= base
    return result

def calculate_average(numbers):
    total = sum(numbers)
    return total / len(numbers)

def perform_operations(a, b):
    sum_result = add(a, b)
    difference = subtract(a, b)
    product = multiply(a, b)
    quotient = divide(a, b)
    power_result = power(a, b)

    average = calculate_average([a, b])

    print("Results:")
    print("Sum:", sum_result)
    print("Difference:", difference)
    print("Product:", product)
    print("Quotient:", quotient)
    print("Power:", power_result)
    print("Average:", average)

# Test the functions
perform_operations(5, 3)
