def luhn_checksum(card_number):
    """
    Compute the Luhn checksum algorithm on all digits of the card number, and return whether or not the card number
    is constructed correctly.
    :param card_number:  16-digit card number to verify
    :return: True or False
    """
    def digits_of(n):
        return [int(d) for d in str(n)]
    digits = digits_of(card_number)
    odd_digits = digits[-1::-2]
    even_digits = digits[-2::-2]
    checksum = 0
    checksum += sum(odd_digits)
    for d in even_digits:
        checksum += sum(digits_of(d*2))
    return checksum % 10