diff --git a/cp/ex01/examples.py b/cp/ex01/examples.py
deleted file mode 100644
index 724bde662cb0e5d1a5962e9c87a04a9a659119c6..0000000000000000000000000000000000000000
--- a/cp/ex01/examples.py
+++ /dev/null
@@ -1,30 +0,0 @@
-"""A handful of python programming examples."""
-# Example 1
-print("Hello world")
-
-# Example 2
-print("hello")
-print("world")
-
-a = 2
-b = 3
-c = 1
-x = 3
-y = a*x**2 + b * x + c
-
-# Example 3
-def second_poly(x):
-    """Compute a first order polynomial.
-
-    :param x: Input value :math:`x`
-    :return: :math:`y = 2x + 4`
-    """
-    return 2 * x + 4
-
-# example 4
-def say_hello(name):
-    """Print out "Hello {name}.
-
-    :param name: The name to say hello to
-    """
-    print("Hello " + name)
diff --git a/cp/ex02/__init__.py b/cp/ex02/__init__.py
deleted file mode 100644
index 228c82bfb2677fe8da2cacfe3ca4f3d41f692ebe..0000000000000000000000000000000000000000
--- a/cp/ex02/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-"""This package represents exercise 1."""
diff --git a/cp/ex02/fibonacci.py b/cp/ex02/fibonacci.py
deleted file mode 100644
index 5eae0a753c3aea6854c84552f9cb27b331b60e34..0000000000000000000000000000000000000000
--- a/cp/ex02/fibonacci.py
+++ /dev/null
@@ -1,26 +0,0 @@
-"""Exercise 2.3: The Fibonacci sequence and recursion."""
-
-def fibonacci_number(k):
-    """Compute the :math:`k`'th Fibonacci number :math:`x_k`.
-
-    The function use the recursive relationship :math:`x_{k+1} = x_k + x_{k-1}`, along with the initial conditions
-    :math:`x_0 =0, x_1 = 1`, to complete the sequence up to :math:`k`.
-
-    :param k: An integer
-    :return:  The corresponding term :math:`x_k` of the Fibonacci sequence as an integer.
-    """
-    if k == 0:
-        # TODO: 1 lines missing.
-        raise NotImplementedError("Insert your solution and remove this error.")
-    elif k == 1:
-        # TODO: 1 lines missing.
-        raise NotImplementedError("Insert your solution and remove this error.")
-    else:
-        # TODO: 1 lines missing.
-        raise NotImplementedError("Fix this stuff")
-
-if __name__ == "__main__":
-    print("The term x_0 should be 0, you got:", fibonacci_number(0))
-    print("The term x_1 should be 1, you got:", fibonacci_number(1))
-    print("The term x_2 should be 1, you got:", fibonacci_number(1))
-    print("The term x_6 should be 8, you got:", fibonacci_number(6))
diff --git a/cp/ex02/taylor.py b/cp/ex02/taylor.py
deleted file mode 100644
index 51d6473cbd23b79626b2da00a9ce0a824b01c297..0000000000000000000000000000000000000000
--- a/cp/ex02/taylor.py
+++ /dev/null
@@ -1,12 +0,0 @@
-"""Problem 1.1."""
-def evaluate_taylor(x: float) -> float:
-    r"""Compute the third order taylor approximation.
-
-    Compute (and return) the Taylor approximation of :math:`\log(x)`. Remember the function must return a ``float``.
-
-    :param x: The input to evaluate.
-    :return: The taylor approximation of :math:`\log(x)`, i.e. :math:`y`
-    """
-    # TODO: 1 lines missing.
-    raise NotImplementedError("Define y = (x-1) - 1/2 * ... here.")
-    return y
diff --git a/cp/ex02/taylor_variant1.py b/cp/ex02/taylor_variant1.py
deleted file mode 100644
index 7304776f8aa94de32b753482c92067e0f95e874d..0000000000000000000000000000000000000000
--- a/cp/ex02/taylor_variant1.py
+++ /dev/null
@@ -1,3 +0,0 @@
-"""Problem 1.2. Implement a function that computes (and return) the third order Taylor-approximation here."""
-# TODO: Code has been removed from here.
-raise NotImplementedError("Insert your solution and remove this error.")
diff --git a/cp/ex02/taylor_variant2.py b/cp/ex02/taylor_variant2.py
deleted file mode 100644
index 3c1b2f1ee332d3d812d0109f8f244063c3ed1baa..0000000000000000000000000000000000000000
--- a/cp/ex02/taylor_variant2.py
+++ /dev/null
@@ -1,7 +0,0 @@
-"""Problem 1.3. Compute the third order taylor approximation evaluated in x here and store it in a variable y."""
-
-x = 1.5
-# Define y = ... here.
-# TODO: 1 lines missing.
-raise NotImplementedError("Insert your solution and remove this error.")
-# print(y) should work.
diff --git a/cp/ex03/__init__.py b/cp/ex03/__init__.py
deleted file mode 100644
index 2eb2a28773da65c74f1d40b5ea20c4dbdc83b382..0000000000000000000000000000000000000000
--- a/cp/ex03/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-"""Exercises for week 3."""
diff --git a/cp/ex03/ackermann.py b/cp/ex03/ackermann.py
deleted file mode 100644
index 57b69ea1a7e47922252148b73d55de1560badf0d..0000000000000000000000000000000000000000
--- a/cp/ex03/ackermann.py
+++ /dev/null
@@ -1,13 +0,0 @@
-"""Exercise 3.9: Ackermann's function."""
-
-def ackermann(m:int, n:int):
-    """Compute the Ackermann's function :math:`A(m, n)`.
-
-    Your implementation should use recursion and not loops.
-
-    :param m: the variable m.
-    :param n: the variable n.
-    :return: the computed value :math:`A(m,n)`.
-    """
-    # TODO: 5 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
diff --git a/cp/ex03/bac_calculator.py b/cp/ex03/bac_calculator.py
deleted file mode 100644
index 3d61024730f49ad1912bebd1e3d64d4544147802..0000000000000000000000000000000000000000
--- a/cp/ex03/bac_calculator.py
+++ /dev/null
@@ -1,15 +0,0 @@
-"""Exercise 3.5: BAC Calculator."""
-
-
-def bac_calculator(alcohol_consumed: float, weight: float, gender: str, time: float) -> float:
-    """Calculate the blood alcohol concentration based on the alcohol consumed, body weight, and time since consumption.
-    
-    :param alcohol_consumed: The total amount of alcohol consumed in grams (float)
-    :param weight: The person's body weight in kilograms (float)
-    :param gender: The person's gender, which must be a string of either "male" or "female" (str)
-    :param time: The time elapsed since alcohol consumption in hours (float)
-    :return: The calculated blood alcohol concentration (BAC) as a float value.
-    """
-    # TODO: 10 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return bac
diff --git a/cp/ex03/bisect.py b/cp/ex03/bisect.py
deleted file mode 100644
index 805cb45eb6d9fc5caec87c63db24d313bbd19fe1..0000000000000000000000000000000000000000
--- a/cp/ex03/bisect.py
+++ /dev/null
@@ -1,56 +0,0 @@
-"""Problems for the Bisection project in week 3."""
-import math
-
-def f(x : float) -> float:
-    r"""Find the roots of this function.
-
-    You should implement the function :math:`f(x)` here. It is defined as:
-
-    .. math::
-
-        f(x) = \sin(3\cos(\frac{1}{2} x^2))
-
-
-    :param x: The value to evaluate the function in :math:`x`
-    :return: :math:`f(x)`.
-    """
-    # TODO: 1 lines missing.
-    raise NotImplementedError("Compute f(x) here.")
-    return y
-
-
-def is_there_a_root(a : float, b : float) -> bool:
-    """Return ``True`` if we are guaranteed there is a root of ``f`` in the interval :math:`[a, b]`.
-
-    :param a: Lowest x-value to consider
-    :param b: Highest x-value to consider
-    :return: ``True`` if we are guaranteed there is a root otherwise ``False``.
-    """
-    # TODO: 1 lines missing.
-    raise NotImplementedError("Compute the condition here")
-    return has_root
-
-def bisect(xmin : float, xmax : float, delta : float) -> float:
-    """Find a candidate root within ``xmin`` and ``xmax`` within the given tolerance.
-
-    :param xmin: The minimum x-value to consider
-    :param xmax: The maximum x-value to consider
-    :param delta: The tolerance.
-    :return: The first value :math:`x` which is within ``delta`` distance of a root according to the bisection algorithm
-    """
-    # TODO: 6 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-
-
-
-if __name__ == "__main__":
-    print("Are we guaranteed there is a zero within the interval [1, 3]?", is_there_a_root(1, 3), "(this should be True)")
-    print("Are we guaranteed there is a zero within the interval [1, 3.5]?", is_there_a_root(1, 3.5), "(this should be False)")
-
-    print("Find a zero within tolerance 0.1 in the interval [1, 2]")
-    print(bisect(1, 2, 0.1))
-    print("Same, but with a tolerance of 0.5")
-    print(bisect(1, 2, 0.1))
-
-    print("Should return math.nan")
-    print(bisect(1, 3.5, 0.1))
diff --git a/cp/ex03/body_temperature.py b/cp/ex03/body_temperature.py
deleted file mode 100644
index 3dad07dde6f4f6b4f9289135dee24dc3bd757e08..0000000000000000000000000000000000000000
--- a/cp/ex03/body_temperature.py
+++ /dev/null
@@ -1,11 +0,0 @@
-"""Exercise 3.4: Body Temperature."""
-
-def body_temperature(temperature : float) -> str:
-    """Calculate the body's response based on the given temperature.
-    
-    :param temperature: The temperature in degrees Celsius.
-    :return: The body's response as a string.
-    """
-    # TODO: 10 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return response
diff --git a/cp/ex03/compare_numbers.py b/cp/ex03/compare_numbers.py
deleted file mode 100644
index 1e71154b3db1fc077c4006d8f72e8a0ba62a2e1e..0000000000000000000000000000000000000000
--- a/cp/ex03/compare_numbers.py
+++ /dev/null
@@ -1,12 +0,0 @@
-"""Exercise 3.3: Compare numbers."""
-
-def compare_numbers(first_number:int, second_number:int) -> str:
-    """Return a string based on which number has the greatest numerical value.
-
-    :param first_number: first number.
-    :param second_number: second number.
-    :return: string stating which number is the greatest.
-    """
-    # TODO: 6 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return comparison
diff --git a/cp/ex03/exponential.py b/cp/ex03/exponential.py
deleted file mode 100644
index 886c658dfaec42171347c63a865aac4a3a60d9f6..0000000000000000000000000000000000000000
--- a/cp/ex03/exponential.py
+++ /dev/null
@@ -1,13 +0,0 @@
-"""Exercise 3.8: Exponential function."""
-
-def exponential(x : float, n : int) -> float:
-    """Compute the exponential :math:`x^n` using recursion.
-
-    First focus on the case where :math:`n=0`, then :math:`n > 0` and finally :math:`n < 0`.
-
-    :param x: the base number :math:`x`.
-    :param n: the power :math:`n`.
-    :return: the computed value.
-    """
-    # TODO: 6 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
diff --git a/cp/ex03/heart_attack.py b/cp/ex03/heart_attack.py
deleted file mode 100644
index 00382c01e5263895a669a6bb5b709e74b6b94c3f..0000000000000000000000000000000000000000
--- a/cp/ex03/heart_attack.py
+++ /dev/null
@@ -1,13 +0,0 @@
-"""Exercise 3.7: Heart attack."""
-
-def heart_attack(age:int, weight:int, smoker:bool) -> str:
-    """Return a string indicating the risk of a person for having heart attack.
-
-    :param age: The age of the person.
-    :param weight: The weight of the person in kilograms.
-    :param smoker: Does the person smoke cigarettes?
-    :return: A string, either "low" or "high", indicating the risk for having heart attack.
-    """
-    # TODO: 12 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return risk
diff --git a/cp/ex03/simple_function.py b/cp/ex03/simple_function.py
deleted file mode 100644
index 349e7108f4d7735481016de22a4362397a4cabfb..0000000000000000000000000000000000000000
--- a/cp/ex03/simple_function.py
+++ /dev/null
@@ -1,6 +0,0 @@
-"""This example is used in the lecture notes to illustrate the import statement. Ignore it for the exercises."""
-
-def just_a_function(): 
-    """Print two lines to the terminal."""
-    print("Hello!") 
-    print("I am justin-a-function :-).") 
diff --git a/cp/ex03/solar_panel.py b/cp/ex03/solar_panel.py
deleted file mode 100644
index 0f846251a0004b21a01a04162420d7a44d5bfd20..0000000000000000000000000000000000000000
--- a/cp/ex03/solar_panel.py
+++ /dev/null
@@ -1,12 +0,0 @@
-"""Exercise 3.6: Solar panel."""
-
-def solar_panel(move : bool, swap : bool, hot : bool, empty : bool):
-    """Print out whether it is a good idea to install solar panels on an object with the given properties.
-
-    :param move: does the object move around?
-    :param swap: does the object allow swapping or recharging battery?
-    :param hot: is the object hot to the touch when it is running?
-    :param empty: are there other empty places near the object?
-    """
-    # TODO: 19 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
diff --git a/cp/ex04/__init__.py b/cp/ex04/__init__.py
deleted file mode 100644
index c9846873004f8fbb59332235ee8873904f7d212a..0000000000000000000000000000000000000000
--- a/cp/ex04/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-"""Exercises for week 4."""
diff --git a/cp/ex04/bug.py b/cp/ex04/bug.py
deleted file mode 100644
index 803047bcfcb3c5f21dd38ea52dd94830409a6745..0000000000000000000000000000000000000000
--- a/cp/ex04/bug.py
+++ /dev/null
@@ -1,38 +0,0 @@
-"""Exercise 4.2-4.3: Let the world know you have written your last bug."""
-
-def last_bug():
-    """Write a nice message enclosed by lines and pipes that clearly indicate you have written your last bug.
-
-    The function should print out the following three lines in the console:
-
-    .. code-block:: console
-
-        ------------------------------
-        | I have written my last bug |
-        ------------------------------
-    """
-    # TODO: 5 lines missing.
-    raise NotImplementedError("Use print(...) to print the output here.")
-
-
-def nice_sign(msg : str):
-    """Print the input string as a nice sign by enclosing it with pipes.
-
-    Note that the input message can vary in length.
-
-    .. code-block:: console
-
-        ---------------
-        | {input msg} |
-        ---------------
-
-    :param msg: The message to enclose.
-    """
-    # You can use len(msg) to get the number of characters and "-"*10 to repeat a character (try in the console!)
-    # TODO: 4 lines missing.
-    raise NotImplementedError("Use print(...) to print the output here.")
-
-
-if __name__ == "__main__":
-    last_bug()  # Done with the bugs
-    nice_sign("Hello world")
diff --git a/cp/ex04/files/5000-words.txt b/cp/ex04/files/5000-words.txt
deleted file mode 100644
index d44bab9bbb4dcc26e61a0ac68f8904936cf5bc9a..0000000000000000000000000000000000000000
--- a/cp/ex04/files/5000-words.txt
+++ /dev/null
@@ -1,5000 +0,0 @@
-species
-practice
-natural
-measure
-present
-form
-order
-quality
-condition
-state
-action
-element
-part
-division
-subject
-ground
-power
-station
-register
-person
-place
-ordinary
-strong
-under
-make
-light
-exercise
-exchange
-parallel
-charge
-support
-judgment
-substance
-figure
-strength
-sound
-service
-quantity
-standard
-right
-point
-character
-strike
-discharge
-force
-return
-spring
-square
-between
-without
-water
-spirit
-distance
-contract
-positive
-position
-straight
-moderate
-double
-superior
-certain
-compound
-interest
-language
-passage
-business
-through
-manner
-relation
-general
-process
-strain
-delicate
-bearing
-property
-advance
-account
-original
-religion
-round
-over
-principal
-sharp
-surface
-line
-degree
-report
-course
-matter
-sentence
-body
-express
-close
-quarter
-head
-negative
-take
-plant
-argument
-increase
-house
-movement
-table
-balance
-separate
-small
-back
-entrance
-settle
-reason
-machine
-common
-material
-scale
-authority
-capable
-anything
-regular
-stock
-break
-opposite
-into
-distress
-work
-standing
-cross
-color
-number
-stroke
-convert
-radical
-relative
-function
-stand
-press
-question
-peculiar
-progress
-together
-touch
-capacity
-physical
-horse
-specific
-external
-produce
-incapable
-passion
-represent
-promise
-tender
-issue
-family
-range
-domestic
-shoulder
-change
-approach
-transfer
-carriage
-feeling
-security
-something
-direction
-pressure
-frame
-like
-free
-company
-inferior
-distinct
-variety
-solution
-capital
-grain
-deposit
-circular
-receive
-pleasure
-particular
-office
-faculty
-motion
-personal
-country
-narrow
-occasion
-open
-addition
-second
-complete
-short
-ancient
-contrary
-serve
-disorder
-crown
-mark
-weight
-large
-white
-tongue
-mountain
-address
-vessel
-throw
-science
-system
-turn
-object
-temper
-internal
-base
-pass
-familiar
-principle
-another
-that
-hold
-compass
-pitch
-influence
-enter
-command
-reduce
-level
-surprise
-time
-bottom
-face
-flower
-extreme
-raise
-purpose
-nature
-answer
-down
-against
-stick
-clear
-record
-article
-discourse
-string
-shell
-side
-fall
-backward
-determine
-several
-forward
-period
-absolute
-taste
-draw
-waste
-running
-spread
-chamber
-cause
-official
-province
-flat
-instrument
-native
-conduct
-maintain
-descent
-block
-presence
-simple
-lead
-weather
-direct
-which
-opinion
-justice
-guard
-master
-appearance
-season
-regard
-check
-shoot
-society
-liquid
-rule
-pattern
-sphere
-directly
-cast
-life
-definite
-private
-give
-knowledge
-cover
-weak
-draught
-section
-sovereign
-stop
-organic
-screw
-violence
-decision
-render
-beat
-rise
-current
-affection
-evidence
-great
-court
-silver
-hand
-correct
-roll
-honor
-wind
-plate
-channel
-single
-keep
-heat
-cylinder
-divide
-release
-after
-respect
-military
-stomach
-some
-root
-timber
-structure
-school
-exterior
-syllable
-piece
-feather
-pledge
-supply
-christian
-branch
-religious
-necessary
-father
-execution
-affected
-knot
-carry
-other
-circle
-kind
-worship
-style
-example
-effect
-obscure
-well
-violent
-horn
-english
-drive
-outside
-better
-church
-mixture
-with
-equal
-reproach
-bear
-volatile
-equivalent
-slender
-remove
-being
-preserve
-grace
-earth
-elevation
-design
-stream
-furnish
-dress
-little
-writing
-spiritual
-black
-twist
-picture
-from
-smooth
-estate
-fine
-anchor
-joint
-heart
-expression
-reach
-center
-contest
-trust
-special
-shall
-friend
-high
-call
-train
-traverse
-irregular
-wrong
-sign
-watch
-catch
-animal
-stone
-dependent
-before
-relief
-thought
-fortune
-will
-active
-formation
-valuable
-soft
-about
-operation
-bank
-heavy
-solid
-ring
-proportion
-symbol
-opposition
-apparent
-abstract
-portion
-dignity
-revolution
-post
-voluntary
-length
-market
-harmony
-prepare
-perform
-land
-board
-shaft
-neglect
-iron
-value
-attempt
-hard
-judge
-proper
-mouth
-moral
-district
-interior
-genus
-union
-purple
-husband
-wing
-broken
-foreign
-divine
-perfect
-last
-compact
-escape
-extract
-demand
-flexible
-still
-wheel
-long
-burden
-labor
-note
-interval
-column
-destitute
-reference
-letter
-control
-freedom
-swallow
-medicine
-history
-difference
-people
-strip
-contempt
-handle
-decline
-good
-liberty
-brilliant
-fashion
-engage
-rest
-impression
-offensive
-drawing
-purchase
-minute
-metal
-texture
-doctrine
-cutting
-lower
-paper
-sight
-hollow
-follow
-judicial
-formal
-salt
-blow
-member
-fellow
-mean
-mother
-thread
-corrupt
-failure
-associate
-relieve
-display
-full
-distant
-disease
-sense
-liberal
-intended
-gather
-play
-blood
-swell
-stuff
-bill
-opening
-quarrel
-world
-secure
-stage
-government
-plane
-public
-composition
-allowance
-thing
-establish
-essential
-gentle
-consider
-examine
-attack
-benefit
-height
-exhibit
-movable
-voice
-tropical
-platform
-alternate
-have
-catholic
-bound
-advantage
-bright
-thrust
-marble
-mercury
-alcohol
-making
-throat
-foot
-shelter
-elastic
-slight
-painting
-inclose
-stem
-reduction
-vegetable
-breast
-drum
-guide
-generation
-study
-within
-succession
-dressing
-powerful
-staff
-notice
-downward
-upright
-favor
-thick
-trade
-extend
-custom
-faith
-mechanical
-turning
-front
-agreement
-glass
-extension
-normal
-green
-exposure
-medium
-product
-application
-term
-vertical
-shape
-choice
-more
-somewhat
-chance
-result
-residence
-party
-wear
-confidence
-soldier
-continue
-powder
-found
-learning
-situation
-bitter
-struggle
-finger
-shield
-officer
-rough
-field
-space
-privilege
-delicacy
-manifest
-sacred
-race
-organ
-behind
-breath
-belonging
-phrase
-border
-marine
-breathing
-flesh
-stretch
-musical
-imperfect
-keeping
-trouble
-fresh
-different
-image
-plaster
-numerous
-existence
-surround
-commerce
-passing
-rank
-around
-mill
-popular
-counter
-fruit
-praise
-hence
-beneath
-loose
-hammer
-amount
-pack
-secondary
-sweet
-meeting
-tone
-inclined
-refuse
-game
-floating
-mineral
-devotion
-memory
-individual
-withdraw
-size
-severe
-declare
-warrant
-desire
-fish
-provide
-title
-smoke
-suffer
-social
-bond
-virtue
-doubtful
-speech
-sympathy
-ready
-feed
-metallic
-fast
-step
-leave
-poison
-worthy
-entire
-easily
-steel
-colored
-disguise
-variable
-speaking
-rising
-indicate
-band
-primary
-agitation
-worm
-quick
-flight
-discipline
-careless
-secret
-lock
-profession
-affect
-minister
-excess
-flourish
-pole
-tooth
-situated
-mind
-disgrace
-censure
-estimate
-treat
-dead
-chemical
-grave
-deliver
-tail
-drop
-attention
-surrender
-hydrogen
-american
-sheet
-building
-preparation
-attend
-plain
-fabric
-limit
-appear
-fasten
-bind
-swelling
-show
-striking
-witness
-ornament
-possession
-bishop
-name
-collect
-hinder
-beyond
-beginning
-case
-covenant
-marriage
-foul
-yield
-type
-handsome
-uniform
-whatever
-earnest
-proof
-himself
-segment
-former
-critical
-difficulty
-proceed
-walk
-restrain
-prince
-setting
-trick
-leader
-female
-universal
-floor
-fire
-false
-depression
-seal
-class
-similar
-stamp
-sleep
-destroy
-following
-resemble
-formerly
-match
-management
-growth
-suit
-patient
-aggregate
-various
-south
-projection
-habit
-tissue
-dispute
-move
-sacrifice
-become
-agreeable
-credit
-partial
-chain
-broad
-northern
-heavenly
-pipe
-arrangement
-impulse
-sport
-apply
-live
-tension
-write
-above
-wood
-furnace
-circuit
-token
-decree
-trial
-shade
-child
-engaged
-imitation
-meet
-truth
-fair
-offer
-supreme
-constant
-sensible
-properly
-share
-device
-pair
-sugar
-solemn
-restore
-commission
-happiness
-word
-exact
-criminal
-model
-belief
-delivery
-spot
-suitable
-commonly
-ceremony
-convey
-search
-behavior
-printing
-measured
-frequent
-ball
-profit
-especially
-whole
-admit
-muscular
-thin
-singular
-related
-vapor
-crowd
-quiet
-method
-living
-first
-fault
-skin
-reverse
-college
-royal
-chief
-want
-battle
-appetite
-disposition
-recover
-beam
-drink
-reverence
-converse
-essence
-same
-deprive
-deep
-nervous
-wide
-hawk
-compose
-skeleton
-error
-nucleus
-proposition
-bend
-ship
-drinking
-difficult
-whip
-important
-swimming
-hanging
-empty
-wash
-obligation
-cotton
-nerve
-generally
-prayer
-century
-view
-servant
-coloring
-exertion
-incline
-unite
-observation
-middle
-community
-territory
-bone
-story
-colorless
-shallow
-solitary
-doubt
-acid
-slip
-speak
-deceive
-apparatus
-flow
-even
-dominion
-introduce
-severity
-region
-intimate
-becoming
-meaning
-philosophy
-extremity
-gravity
-forth
-diameter
-near
-scratch
-assembly
-east
-shoe
-prevent
-success
-spindle
-what
-activity
-bolt
-extensive
-brief
-project
-book
-cunning
-drift
-accident
-indirect
-protection
-evil
-group
-burning
-yellow
-fancy
-particle
-confusion
-document
-energy
-exhaust
-series
-reception
-utter
-yielding
-remote
-stiff
-wild
-discover
-policy
-angle
-below
-tree
-literary
-rate
-pursuit
-clothing
-engine
-trunk
-claim
-previous
-grant
-tribe
-extinct
-obtain
-furniture
-sequence
-imperial
-petition
-rope
-pleasing
-remedy
-oblique
-warm
-composed
-fill
-blue
-economy
-sprinkle
-smell
-promote
-money
-resolve
-covering
-needle
-blind
-acute
-foolish
-fossil
-european
-worth
-combine
-companion
-volume
-rather
-gain
-exciting
-look
-soil
-outward
-bring
-skill
-west
-duty
-sulphur
-expose
-noble
-posture
-lose
-follower
-distinction
-brush
-copper
-diminish
-sort
-attachment
-sensation
-inside
-aspect
-stain
-affinity
-slide
-southern
-edge
-perception
-conclusion
-unequal
-priest
-boiling
-steam
-lord
-consent
-float
-tincture
-collection
-beak
-rock
-mine
-wearing
-decay
-moisture
-stern
-confine
-average
-burn
-scheme
-pale
-while
-declaration
-contain
-plunder
-actual
-accent
-mass
-equality
-bladder
-young
-curve
-intense
-star
-loss
-reading
-spiral
-political
-assault
-prospect
-tendency
-remain
-made
-contraction
-brain
-evolution
-experience
-further
-complex
-sponge
-worthless
-develop
-extent
-except
-payment
-election
-sometimes
-vision
-screen
-seize
-pain
-sufficient
-dwelling
-manage
-sensitive
-hundred
-music
-modern
-horizon
-town
-birth
-lime
-appeal
-kingdom
-constitution
-inclosure
-suspension
-suffering
-rich
-room
-collar
-elevated
-prominent
-coarse
-bent
-descend
-holding
-love
-treatise
-instruct
-perceive
-pointed
-sudden
-adjacent
-formed
-agree
-split
-license
-reflection
-shut
-dissolve
-battery
-variation
-start
-price
-load
-necessity
-coming
-vehicle
-axis
-sweep
-wall
-sustain
-vote
-driving
-flavor
-breed
-prepared
-anterior
-saddle
-pride
-divinity
-aromatic
-lively
-foundation
-dark
-continued
-derivative
-minor
-nation
-conveyance
-utterance
-legal
-mistress
-corner
-rent
-occupation
-reputation
-sail
-taking
-grass
-crescent
-mistake
-dull
-mode
-visible
-precious
-undergo
-toward
-engraving
-moving
-list
-home
-currency
-port
-wicked
-vein
-only
-membrane
-towards
-dispose
-wound
-rapid
-hook
-seat
-bargain
-copy
-sink
-partially
-otherwise
-overcome
-stalk
-feel
-corn
-trumpet
-true
-courage
-grand
-carrying
-connection
-coast
-successive
-stay
-painful
-lost
-advocate
-king
-motive
-velocity
-expansion
-margin
-dance
-track
-where
-independent
-north
-bore
-honorable
-theory
-wanting
-seed
-arch
-composite
-leaf
-comparison
-soul
-poor
-calendar
-death
-satisfy
-artificial
-statement
-such
-indian
-reward
-travel
-likeness
-reserve
-restraint
-intellect
-courtesy
-cold
-delay
-describe
-idea
-fight
-reasoning
-central
-partition
-milk
-literature
-organism
-fold
-equation
-male
-shadow
-easy
-fear
-forest
-verse
-just
-absence
-tertiary
-according
-feast
-freight
-department
-outline
-artifice
-captain
-resistance
-chase
-diamond
-forming
-student
-slow
-given
-trespass
-merchant
-primitive
-defend
-sexual
-amorphous
-appropriate
-temple
-invest
-dishonor
-civil
-development
-lateral
-print
-outer
-adjective
-cord
-blade
-darkness
-retreat
-challenge
-shot
-silence
-alkaloid
-fail
-night
-roman
-strongly
-thousand
-profound
-danger
-ultimate
-harbor
-nothing
-execute
-sour
-desert
-attach
-concern
-employment
-bridge
-pile
-duration
-regulate
-innocent
-future
-permanent
-leather
-main
-governor
-comfort
-flag
-real
-calling
-encounter
-bell
-grow
-half
-posterior
-signature
-erect
-humor
-morality
-mutual
-proceeding
-able
-cheat
-friendly
-insect
-either
-treatment
-attendant
-vocal
-shining
-sucker
-leading
-deeply
-find
-flowing
-settlement
-council
-infinite
-divided
-skillful
-exceed
-pleasant
-speed
-altitude
-winding
-content
-commit
-bankrupt
-careful
-continuous
-consequence
-excite
-exhibition
-noise
-concrete
-breeding
-incident
-much
-annual
-skilled
-hair
-prove
-remark
-admission
-enlarge
-provided
-breathe
-hearing
-raising
-attribute
-firm
-arrange
-meal
-sand
-dish
-strange
-fourth
-atlantic
-congress
-barrel
-western
-mental
-aperture
-lodge
-pull
-sterling
-come
-inserted
-contact
-sing
-prefix
-prejudice
-provision
-talk
-counsel
-void
-nose
-chest
-vulgar
-strap
-wanton
-latin
-card
-analysis
-institution
-ridicule
-covered
-brace
-third
-pronounce
-limited
-enough
-overthrow
-crack
-coin
-adherent
-observe
-coat
-flame
-dorsal
-capsule
-impress
-guilty
-delight
-best
-stranger
-nobility
-possess
-duck
-conception
-electricity
-uncertain
-affecting
-rational
-clothes
-also
-wonder
-summer
-involve
-request
-reaction
-envelop
-breach
-excellent
-obstruct
-atmosphere
-mantle
-remember
-again
-receiver
-consonant
-blank
-devoted
-blast
-nice
-improper
-excuse
-intention
-embrace
-agent
-limb
-excellence
-injury
-faithful
-protect
-chiefly
-production
-pastoral
-isomeric
-trifling
-sentiment
-appendix
-temporary
-test
-drill
-burst
-temporal
-when
-beating
-rolling
-orderly
-sitting
-tract
-send
-neck
-author
-strict
-less
-benefice
-woman
-away
-enterprise
-help
-overflow
-testimony
-join
-excitement
-stable
-cannon
-dash
-idle
-luminous
-originally
-doctor
-resolution
-appoint
-crystal
-beauty
-assurance
-shake
-eastern
-torture
-damage
-shock
-morbid
-rounded
-aside
-vigorous
-ascertain
-window
-read
-designate
-effort
-repair
-compare
-binding
-boat
-fever
-impregnate
-machinery
-moment
-keeper
-pungent
-whistle
-penetrate
-finish
-having
-elegant
-irritate
-fillet
-cluster
-pregnant
-winter
-woolen
-gross
-german
-ferment
-signal
-rude
-offering
-dust
-angular
-tune
-stupid
-institute
-vital
-writer
-source
-because
-obedience
-ruin
-eccentric
-occupy
-crystalline
-across
-communion
-appendage
-ventral
-oppose
-memorial
-cradle
-lightly
-cloth
-include
-symmetry
-triumph
-esteem
-riding
-assume
-subdue
-sorrow
-propriety
-impure
-very
-sounding
-secular
-adjust
-plan
-scatter
-scent
-tube
-fanciful
-possible
-suspend
-marked
-stigma
-creature
-disperse
-twisted
-depth
-african
-liable
-profane
-tool
-fence
-fore
-instance
-cure
-river
-desolate
-contrast
-measuring
-disclose
-heaven
-kindness
-performance
-shed
-march
-rare
-fragrant
-parish
-cloud
-rendering
-servile
-malignant
-transport
-romance
-origin
-self
-lady
-twelve
-vagabond
-lace
-pick
-romantic
-ocean
-depress
-penalty
-eruption
-survey
-sonorous
-perennial
-shore
-journey
-casting
-succeed
-improve
-analogous
-poisonous
-steep
-shooting
-tenant
-hostile
-speaker
-venture
-endeavor
-tear
-peace
-hang
-advanced
-stake
-suppress
-steady
-gate
-page
-liquor
-varnish
-bivalve
-intellectual
-vice
-sublime
-wooden
-intensity
-alphabet
-elevate
-tenacious
-conversion
-jack
-event
-employ
-thunder
-radiant
-muscle
-moon
-spoken
-gradual
-apple
-inactive
-defeat
-rustic
-understand
-degrade
-deck
-ancestor
-putting
-agency
-constituent
-conflict
-favorable
-generous
-antecedent
-storm
-indefinite
-disposed
-bite
-customary
-distemper
-wire
-subordinate
-restless
-apart
-ease
-polish
-debate
-indulge
-deviation
-arrest
-hole
-serpent
-determination
-bark
-brown
-whisper
-beforehand
-slippery
-auxiliary
-prime
-orange
-early
-flood
-layer
-vicious
-bonnet
-digest
-accord
-latter
-scrape
-swing
-cherry
-monkey
-leap
-renounce
-awkward
-raised
-giving
-continent
-reserved
-hazard
-warp
-beautiful
-score
-invention
-girdle
-exclusive
-yard
-prostrate
-horizontal
-parting
-abuse
-citizen
-receptacle
-electric
-lantern
-bastard
-pound
-terminal
-belong
-inhabitant
-hide
-upper
-mechanic
-pigment
-reality
-traffic
-treasury
-poetry
-deed
-premise
-believe
-ridge
-flash
-shackle
-endure
-meridian
-inflated
-prize
-usage
-think
-fishing
-scene
-termination
-injure
-recognize
-fact
-solidity
-loud
-anatomy
-reciprocal
-charity
-journal
-eating
-review
-gallery
-understanding
-hardness
-chapter
-humble
-pointing
-confirm
-pure
-lean
-fracture
-year
-distinguish
-entertain
-garden
-their
-plunge
-adhesion
-purity
-industry
-exception
-discovery
-combined
-push
-entirely
-paint
-inquiry
-trace
-sole
-mystery
-importance
-torment
-forcible
-care
-past
-genius
-bottle
-twenty
-suffix
-immovable
-fibrous
-clean
-silent
-association
-sanction
-pierce
-wander
-gathering
-tread
-naked
-gift
-glance
-relish
-acting
-trim
-departure
-emotion
-reckoning
-grade
-wave
-concave
-immediate
-royalty
-ability
-induction
-three
-validity
-apartment
-crime
-along
-fleet
-triangle
-bird
-crossing
-mischief
-sword
-implement
-polished
-ignorant
-protest
-grief
-coal
-disposal
-intrigue
-punishment
-anger
-mount
-soluble
-stripe
-squeeze
-transmit
-violation
-plot
-multiply
-probable
-patience
-decrease
-chestnut
-begin
-showing
-rupture
-depart
-paragraph
-concerning
-national
-visionary
-farm
-eager
-reflect
-expand
-curious
-qualify
-molecule
-preceding
-upward
-slope
-harsh
-gravel
-wholly
-valence
-windlass
-human
-itself
-bold
-massive
-construction
-alloy
-crust
-cake
-terminate
-left
-parasite
-medical
-harness
-weapon
-tell
-fountain
-consideration
-favorite
-wrongly
-vehement
-going
-groove
-electrical
-mature
-counterfeit
-inversion
-faint
-drag
-testament
-ruffle
-undertake
-repose
-health
-fleshy
-communicate
-many
-assistant
-food
-virgin
-versed
-destruction
-prick
-temperature
-allow
-verbal
-transparent
-collective
-revolve
-combination
-fantastic
-during
-weakness
-lack
-wrinkle
-version
-alliance
-antiquity
-serious
-tenth
-store
-roof
-information
-than
-retire
-gold
-siphon
-separation
-wedge
-crest
-vibrate
-conical
-procure
-numbers
-filling
-pocket
-spur
-angles
-greek
-substitute
-runner
-feeding
-correction
-splendid
-venomous
-founder
-dolphin
-oxygen
-tackle
-dislike
-distribute
-entangle
-charm
-magnetic
-inheritance
-brick
-publicly
-slightly
-disturb
-corruption
-gallant
-deliberate
-canvas
-gray
-hedge
-indulgence
-healthy
-drain
-insolent
-bodily
-wise
-conceit
-telescope
-daughter
-yellowish
-pursue
-identical
-spider
-falsehood
-globe
-resemblance
-description
-readily
-savage
-arbitrary
-academy
-snow
-politics
-looking
-agitate
-thorough
-connect
-secretion
-afford
-articulate
-cell
-deficient
-strengthen
-recess
-bridle
-splendor
-impose
-emblem
-sting
-remarkable
-truss
-explain
-hope
-resist
-slander
-partisan
-trap
-aquatic
-fresh-water
-hood
-disdain
-removed
-adventure
-summary
-count
-whether
-literal
-pasture
-chloride
-throne
-garment
-guardian
-rose
-discount
-lasting
-cease
-sharpen
-quicken
-receipt
-morally
-habitual
-ecstasy
-defense
-alone
-heap
-edible
-beast
-palm
-dimension
-gospel
-fluid
-island
-deal
-operate
-cattle
-suppose
-concord
-cream
-queen
-ethereal
-there
-roller
-patent
-rubber
-rail
-patron
-should
-brass
-appointment
-vigor
-passive
-vascular
-beetle
-fabulous
-prodigal
-abandon
-apprehension
-fertile
-french
-imagination
-discuss
-welcome
-distrust
-contend
-lift
-dishonest
-finding
-imposing
-erroneous
-utmost
-useful
-pertaining
-diffuse
-carbon
-overlook
-blossom
-obtained
-cushion
-notion
-dispatch
-cabbage
-fortress
-equivocal
-basket
-holy
-steward
-youth
-washing
-sluggish
-messenger
-maturity
-infamous
-shorten
-else
-dexterous
-apparel
-mourning
-crooked
-propose
-rigorous
-rush
-stubborn
-dependence
-disturbance
-trench
-till
-radiate
-sailing
-eight
-infusion
-solemnity
-fret
-highly
-charter
-gloomy
-scraping
-next
-knife
-nitrogen
-tide
-magnitude
-linen
-persuade
-final
-residue
-bending
-spar
-imaginary
-flying
-accept
-bread
-attitude
-knight
-bloom
-assign
-generate
-driver
-file
-foliage
-festival
-parade
-experiment
-eminence
-conquer
-translate
-pretty
-sect
-allied
-melancholy
-breadth
-flatter
-venereal
-repeat
-abdomen
-silly
-monument
-song
-deduction
-submit
-inflame
-concert
-flush
-disgust
-fragment
-acceptance
-inspire
-neutral
-piercing
-knowing
-household
-stump
-cement
-enforce
-medicinal
-adverse
-oriental
-embarrass
-club
-instead
-enemy
-soften
-obstinate
-offspring
-please
-enamel
-shame
-practical
-examination
-beard
-road
-boundary
-warmth
-publish
-decorate
-shift
-stall
-sterile
-noxious
-sweeten
-tobacco
-obsolete
-bronze
-recital
-scholar
-theology
-distillation
-disk
-assumed
-rack
-animate
-christ
-paradise
-jurisdiction
-shrink
-touching
-recompense
-inherent
-alarm
-sincere
-conquest
-arms
-perch
-politic
-paddle
-intestine
-meat
-repetition
-abusive
-spear
-honorary
-relating
-reed
-disorderly
-plural
-immediately
-produced
-prudent
-dividing
-glory
-caution
-litter
-fixed
-rain
-were
-useless
-defective
-shine
-hospital
-injurious
-wretched
-funeral
-enjoyment
-access
-major
-defect
-brother
-empire
-procession
-accurate
-lessen
-seven
-explosive
-cheerful
-embryo
-dirty
-fellowship
-sickness
-rotation
-secretary
-wisdom
-temperate
-instruction
-transient
-resolute
-solicit
-weaken
-tarnish
-nail
-abortive
-mounted
-straw
-learned
-commander
-strive
-doubling
-hill
-chlorine
-butter
-dangerous
-catching
-infant
-greenish
-recall
-abundant
-sulphuric
-refer
-explanation
-nearly
-vexation
-perfection
-four
-castle
-confuse
-farther
-administer
-instant
-spoil
-junction
-mast
-ministry
-eclipse
-rake
-suborder
-prolific
-forbear
-tribunal
-irritation
-boom
-divination
-vacant
-sinister
-inspired
-sensibility
-exist
-stated
-graduate
-intercourse
-gland
-chapel
-calm
-perverse
-modest
-spell
-legitimate
-mortgage
-ardent
-manifold
-league
-blunt
-frequently
-limitation
-framework
-worse
-stitch
-fund
-equally
-shrill
-larva
-inflammation
-bundle
-immature
-pepper
-called
-frontal
-culture
-date
-planet
-condemn
-nasal
-willing
-disciple
-wine
-expense
-marshal
-cowardly
-riddle
-smart
-contrivance
-shank
-cutter
-director
-hasty
-gauge
-merit
-elementary
-sheep
-trail
-trimming
-marking
-always
-ticket
-precipitate
-interpret
-saving
-depressed
-regiment
-decoration
-permit
-abroad
-specious
-subtile
-cipher
-combat
-arsenic
-tough
-sentinel
-adequate
-import
-spare
-digestion
-adorn
-then
-wealth
-manual
-eternal
-opponent
-believer
-compress
-lake
-refine
-fidelity
-armed
-valve
-sullen
-spend
-conformity
-lifeless
-prosecute
-patch
-panel
-defile
-grating
-transverse
-engagement
-tumult
-malicious
-flowering
-most
-belt
-fitting
-slate
-adoption
-heel
-sweeping
-hydrous
-angry
-resort
-locality
-closely
-comb
-reversed
-heating
-grammar
-magazine
-clay
-morning
-vault
-diagonal
-couple
-boot
-engraved
-emission
-bloody
-university
-portable
-thorax
-juice
-spotted
-exclude
-abnormal
-attain
-logical
-fruitful
-removal
-doing
-sell
-mournful
-skull
-this
-monstrous
-elaborate
-canon
-endless
-seventh
-defensive
-orchestra
-simplicity
-transform
-confound
-pool
-violate
-likely
-vesicle
-precise
-scientific
-treasure
-creation
-inward
-masonry
-attraction
-belly
-adversary
-gripe
-each
-pencil
-egyptian
-delegate
-garrison
-variance
-corolla
-alienate
-accessory
-inner
-temperament
-done
-sore
-constrain
-exempt
-associated
-recovery
-late
-complaint
-melting
-dialect
-shrub
-prison
-deserving
-rightful
-excursion
-entreaty
-refined
-debt
-denial
-oily
-avoid
-inverted
-proverb
-metameric
-anxiety
-cleavage
-chimney
-laughter
-excessive
-metrical
-twitch
-improvement
-arrogant
-traveler
-universe
-chemistry
-peduncle
-abatement
-canal
-multitude
-resident
-safety
-derision
-sweat
-rider
-reckon
-dread
-superficial
-depend
-tend
-player
-mortal
-enthusiasm
-president
-barbarous
-evening
-devise
-genuine
-surrounding
-imitate
-convenient
-revolving
-honey
-hardened
-bruise
-thinking
-children
-conform
-tribute
-contention
-ride
-they
-uncover
-steal
-honest
-mushroom
-nest
-harmonize
-disable
-creep
-thus
-mortar
-chair
-extremely
-consistency
-verge
-disquiet
-vanity
-defiance
-mask
-strait
-rouse
-fringe
-mate
-bass
-safe
-flounder
-compensation
-quickly
-conceal
-bull
-prisoner
-build
-resembling
-pardon
-city
-crustacea
-starch
-heavily
-usual
-platinum
-bush
-decided
-nurse
-cock
-omission
-surety
-accidental
-clumsy
-proposal
-punish
-contents
-british
-exposition
-gigantic
-warranty
-rear
-fiction
-collision
-armor
-plank
-crop
-attorney
-radiated
-encircle
-passionate
-antelope
-scotch
-accomplish
-supposed
-emit
-hesitate
-pedestal
-pearl
-bandage
-fatigue
-submission
-training
-partake
-rapidity
-every
-worldly
-incense
-attached
-probably
-engrave
-distribution
-plead
-wait
-inform
-door
-ribbon
-impart
-mail
-swift
-premium
-yoke
-narcotic
-trifle
-unfold
-lesson
-glucoside
-kernel
-reconcile
-profuse
-conceive
-visit
-plastic
-defendant
-cavity
-silicate
-inhabit
-continuance
-crude
-graceful
-charcoal
-india
-slave
-destructive
-ether
-adhere
-ditch
-estimation
-chinese
-solvent
-persuasion
-oxidation
-entertainment
-spectrum
-detail
-disunite
-tower
-reliance
-urge
-mixed
-hall
-immortal
-beverage
-weigh
-flour
-constitute
-tack
-lance
-intermediate
-sale
-area
-vent
-publication
-coating
-audience
-particularly
-unit
-compel
-augment
-laying
-interfere
-index
-garland
-entry
-rectitude
-discord
-deformity
-consist
-dullness
-happy
-cool
-know
-exactly
-united
-farthest
-tubular
-grasp
-infernal
-construct
-treaty
-regarded
-narrowly
-toll
-kill
-kindred
-learn
-fortunate
-sensual
-railway
-efficacy
-uniformity
-remainder
-employed
-integrity
-helmet
-operculum
-conscience
-incision
-stout
-devote
-naturally
-dragon
-divest
-exclamation
-indented
-enlargement
-imagine
-orthodox
-conductor
-frustrate
-occur
-dialogue
-mollusca
-curtain
-poetical
-loop
-infectious
-bare
-rabble
-weed
-crab
-watery
-income
-feeble
-lease
-adjustment
-confession
-enormous
-born
-array
-crush
-stress
-volcanic
-humanity
-perplex
-requital
-plaintiff
-boil
-revenue
-often
-wagon
-susceptible
-sanskrit
-noisy
-speculation
-suture
-contrive
-cant
-olive
-finished
-forge
-dexterity
-showy
-indifferent
-require
-pervert
-tasteless
-proclaim
-mechanism
-discussion
-slacken
-deposition
-manufacture
-deity
-blemish
-strained
-writ
-criticism
-affair
-out
-scattered
-inference
-alkaline
-mostly
-cardinal
-winged
-army
-slice
-crank
-keen
-essay
-retain
-prey
-abundance
-periodical
-pillar
-sacrament
-pink
-retort
-purify
-goodness
-hind
-refusal
-conspicuous
-friendship
-expedition
-widely
-deadly
-objection
-partly
-rapacious
-perfume
-sauce
-poem
-couch
-spin
-response
-subjected
-stuffing
-recoil
-pine
-conclude
-falling
-tonic
-legislative
-formality
-expectation
-blame
-staple
-revive
-globular
-unnatural
-forehead
-escutcheon
-alcoholic
-monthly
-recite
-brood
-astringent
-fineness
-arranged
-seam
-supporter
-tumble
-branches
-fastening
-assent
-proud
-govern
-bosom
-artful
-eminent
-diminution
-sick
-unity
-headlong
-cautious
-mistaken
-derive
-homology
-inflict
-sulphide
-humility
-teach
-truck
-pouch
-neat
-prohibit
-grind
-pavement
-advice
-pluck
-hour
-kindly
-monarch
-tumor
-mingle
-turbulent
-predicate
-however
-representation
-watchful
-intent
-painted
-ordnance
-scorn
-chatter
-sediment
-cognizance
-literally
-derivation
-gentleman
-abrupt
-subtle
-craft
-fool
-bestow
-tight
-spleen
-facing
-portrait
-keel
-procedure
-vibration
-valued
-harangue
-frank
-rust
-coach
-wreck
-path
-earthy
-authentic
-once
-palliate
-oxide
-working
-pacific
-aversion
-pyroxene
-grains
-spanish
-heave
-chorus
-magnesia
-tenor
-productive
-mitigate
-denoting
-definition
-gall
-carbonate
-inclosed
-bulk
-taint
-pillage
-slowly
-healing
-effective
-foil
-pressing
-unctuous
-nitrogenous
-calcium
-hydrocarbon
-suggestion
-quotient
-integral
-gradually
-extended
-unlucky
-stir
-spirited
-convent
-majority
-parent
-harvest
-statue
-ligament
-reflected
-existing
-noted
-ecliptic
-equitable
-anxious
-neither
-farewell
-bail
-flute
-must
-facility
-ensign
-italian
-barren
-solitude
-refrain
-accuracy
-charitable
-clock
-weary
-silvery
-deception
-wheat
-nobleman
-antimony
-pronoun
-received
-chancery
-expedient
-flock
-repeated
-saffron
-exemption
-kindle
-stool
-breaking
-thicken
-abate
-boast
-harden
-prose
-ward
-devil
-celestial
-leguminous
-throwing
-voyage
-diminutive
-explode
-fugitive
-including
-regularly
-fastened
-sermon
-snap
-dreadful
-custody
-cruel
-oppress
-magical
-silk
-galley
-uncommon
-executive
-denote
-seek
-warning
-elephant
-livery
-salmon
-designed
-statute
-education
-bringing
-modesty
-typical
-prostitute
-initial
-humming
-heathen
-confused
-adhesive
-sickly
-required
-throng
-attract
-teaching
-packing
-occupied
-ornamental
-quill
-tyrant
-hydrate
-oath
-snatch
-vagrant
-tunnel
-inflamed
-stirring
-alumina
-meanness
-cable
-problem
-incumbent
-insipid
-spout
-narrative
-orator
-punch
-attended
-articulation
-default
-poverty
-lighter
-five
-paste
-viscous
-analogy
-clearing
-imposition
-curse
-quadrate
-flattery
-insult
-justify
-disregard
-parliament
-vinegar
-cleave
-delineate
-borough
-diversion
-dealer
-pour
-whitish
-imitative
-boiler
-spurious
-vain
-ending
-camphor
-puzzle
-included
-pause
-contracted
-adjectively
-fondness
-indies
-squirrel
-month
-crane
-sketch
-controversy
-guarantee
-chastity
-unlimited
-fighting
-pretend
-surpass
-button
-overseer
-unusual
-flank
-stony
-efficient
-rarely
-mankind
-spice
-guilt
-assemble
-though
-formula
-teacher
-dainty
-innocence
-vitreous
-clergyman
-animation
-apron
-cycle
-serving
-equity
-scripture
-violet
-containing
-hear
-stopping
-consisting
-decomposition
-lightning
-latitude
-ideal
-hire
-elbow
-purse
-gossip
-capillary
-trivial
-pompous
-feature
-cheer
-suspense
-rigid
-optical
-available
-malice
-whose
-critic
-brave
-neighbor
-link
-stratagem
-spire
-seeing
-prudence
-assertion
-worry
-both
-extravagant
-harmonious
-partner
-acquire
-decisive
-valley
-backbone
-sportive
-granular
-random
-asiatic
-diligence
-cordial
-bath
-vowel
-dealing
-brighten
-dense
-tortoise
-sculpture
-shearing
-reptile
-bible
-seizure
-indent
-pulse
-wool
-wish
-univalve
-lash
-withhold
-suspicion
-adherence
-acknowledge
-firmness
-celebrate
-scramble
-until
-nickname
-discern
-undue
-murder
-diurnal
-hebrew
-evergreen
-shepherd
-impudent
-detached
-jointed
-cask
-alive
-comparative
-frolic
-mouse
-signify
-announce
-quickness
-orifice
-accompany
-explosion
-clothe
-caustic
-choose
-pace
-mirror
-cohesion
-artillery
-insert
-mobile
-conversation
-symptom
-grease
-polarity
-offset
-deer
-furious
-emphasis
-been
-transact
-calamity
-resolved
-producing
-contingent
-complexion
-puff
-sagacious
-classical
-deluge
-rattle
-rash
-expert
-expressive
-footing
-cone
-austere
-competent
-plausible
-studious
-breech
-spelling
-retail
-petty
-reasonable
-buffalo
-bubble
-insanity
-idleness
-proceeds
-curl
-ascend
-wife
-reform
-creeping
-balloon
-create
-rage
-entreat
-insertion
-offend
-rove
-shifting
-twelfth
-inspect
-decide
-figurative
-miss
-athletic
-directed
-exceeding
-ambition
-absorb
-tangent
-bait
-haughty
-intercept
-translation
-crisp
-darken
-stability
-factor
-octave
-insnare
-propagate
-evident
-tenure
-auditory
-forked
-obstacle
-muzzle
-intricate
-grate
-peevish
-applied
-summons
-golden
-locomotive
-incorrect
-intensive
-insoluble
-collected
-amusement
-vary
-attentive
-smile
-reproduce
-cleft
-dropping
-pectoral
-ceiling
-indigo
-ruminant
-artless
-message
-pity
-ravenous
-rapidly
-quadrant
-lying
-invite
-merry
-pliable
-animated
-liability
-assuming
-sprout
-affirmative
-barter
-suggest
-elder
-monster
-tending
-ethylene
-rampart
-scope
-yarn
-reign
-lofty
-rubbish
-foremost
-melt
-to
-eighteen
-teeth
-feathered
-formally
-objective
-reckless
-deaden
-spruce
-molasses
-sheath
-fond
-secrecy
-entrails
-digestive
-commercial
-horror
-geometry
-provoke
-identity
-themselves
-abide
-valid
-winning
-satisfaction
-foliated
-cultivate
-insurance
-shower
-dejection
-street
-bench
-notch
-sanctuary
-threaten
-core
-thirst
-crimson
-isolated
-fate
-potassium
-sphenoid
-gloss
-initiate
-killing
-remembrance
-acuteness
-digging
-fraud
-endowment
-commanding
-stale
-resin
-tally
-select
-weaving
-bowl
-sloping
-exalt
-interrupt
-wither
-foresight
-circulation
-gill
-igneous
-obscurity
-distill
-inscribe
-bondage
-hastily
-notation
-firearm
-mute
-oppressive
-pericarp
-communication
-creeper
-forfeit
-apprehend
-fully
-gracious
-divert
-derived
-railroad
-interchange
-originate
-obstinacy
-neuter
-sack
-capture
-fencing
-inquire
-pope
-greatly
-wolf
-degraded
-dejected
-guidance
-aerial
-rhyme
-desirable
-insensible
-discordant
-ligature
-adopted
-sanguine
-spasmodic
-physician
-luster
-salute
-broach
-fork
-gear
-graduated
-adultery
-warlike
-obstruction
-liver
-smallpox
-lighten
-loosen
-rigor
-deformed
-climate
-admitted
-hunting
-fifteenth
-reject
-concerned
-butcher
-cessation
-approve
-turkish
-fare
-saturated
-impair
-shroud
-clamor
-disjoint
-fourteen
-epidemic
-clergy
-muddy
-laugh
-shrewd
-observance
-act
-singing
-snuff
-cricket
-geology
-insane
-subsequent
-missile
-on
-beggar
-cane
-eagle
-abruptly
-deceitful
-reddish
-cathedral
-sixteenth
-senate
-buck
-nourish
-displace
-relate
-candidate
-plump
-slack
-artery
-sodium
-powdered
-ascent
-gloom
-lowering
-resinous
-tradition
-governing
-boiled
-induce
-arise
-meditate
-voltaic
-harmless
-shedding
-ripple
-uneasy
-fissure
-merchandise
-victory
-conference
-paid
-uneasiness
-instinct
-unworthy
-rival
-wasteful
-preliminary
-branching
-boasting
-brittle
-honesty
-need
-indistinct
-inspiration
-giddy
-rescue
-absent
-buffoon
-convex
-frontier
-argue
-thickness
-marginal
-throughout
-untimely
-exquisite
-rogue
-potter
-qualities
-nonsense
-stealing
-lining
-relax
-infuse
-ruling
-additional
-streak
-immerse
-preference
-network
-condense
-tablet
-tinge
-onward
-smother
-grasping
-ammonia
-jupiter
-doublet
-mission
-fission
-anew
-causing
-sleeve
-authorized
-amber
-excrement
-damp
-affront
-offense
-cherish
-restrict
-budding
-confederate
-sever
-ambush
-growing
-irritable
-local
-homage
-regret
-vitality
-meadow
-northwest
-spongy
-leaves
-elsewhere
-police
-placenta
-component
-spirituous
-accustom
-therefore
-intelligence
-actually
-consistent
-destiny
-cloak
-forbid
-disappear
-cylindrical
-written
-fifth
-urine
-haste
-already
-scarf
-durable
-grievous
-arrival
-fierce
-whirl
-afflict
-built
-furrow
-sorrowful
-plume
-aniline
-tick
-connected
-serpentine
-spit
-epoch
-magnify
-drunken
-torpedo
-conscious
-fortify
-session
-vertebra
-shipping
-saint
-petroleum
-assist
-curb
-observer
-asunder
-qualified
-occurrence
-cleaning
-offender
-mediate
-occurring
-negligent
-beaten
-illustration
-mock
-stormy
-verb
-figured
-assemblage
-drying
-murmur
-deviate
-kitchen
-zinc
-anticipate
-servitude
-creditor
-privy
-dock
-monopoly
-newspaper
-retard
-licensed
-terrestrial
-boastful
-sliding
-ragged
-furnished
-wrought
-frightful
-whence
-stratum
-differ
-gratify
-conjecture
-ownership
-whimsical
-mere
-fundamental
-variant
-arboreal
-subjection
-strife
-subscribe
-ointment
-symmetrical
-exactness
-glossy
-liking
-sprightly
-collapse
-pudding
-cultivation
-disfavor
-dart
-renew
-consign
-tremulous
-distinguished
-pleading
-saline
-recent
-limestone
-vindicate
-inch
-heroic
-preface
-magistrate
-inflection
-unlike
-cruelty
-semblance
-mention
-parapet
-readiness
-used
-abode
-troop
-jacket
-equator
-invisible
-hindrance
-anthozoa
-spike
-refractory
-narration
-magnetism
-naval
-bitumen
-impetuous
-germinal
-measurement
-unjust
-mole
-chosen
-willow
-retract
-obvious
-combining
-prosperity
-allay
-stocking
-lymphatic
-adapted
-protract
-sober
-explore
-abounding
-commotion
-pricking
-affix
-dipping
-nutrition
-pigeon
-forcing
-feminine
-palate
-cartilage
-republic
-rebuke
-walking
-reclaim
-duplicate
-arrive
-quit
-quartz
-scallop
-guess
-trump
-homologous
-sixteen
-grieve
-removing
-slaughter
-extracted
-suspect
-engineer
-aldehyde
-titmouse
-carried
-stringed
-arrogance
-studied
-tractable
-reveal
-observing
-distaste
-delicious
-retired
-cancer
-hinge
-obscene
-preacher
-illustrate
-triple
-bolster
-cheek
-fullness
-applause
-surgeon
-voracious
-moth
-quite
-save
-carving
-deny
-grapple
-diet
-vehemence
-tartar
-vassal
-parcel
-tabernacle
-dream
-opaque
-cathartic
-herring
-opposed
-abdominal
-steamer
-tiller
-admiration
-breeches
-obedient
-thrusting
-bluster
-owner
-certainty
-sway
-respond
-scarlet
-goose
-ashes
-martial
-salient
-manganese
-accession
-glutinous
-declivity
-popularly
-invalid
-grateful
-correspond
-practiced
-bias
-nocturnal
-calcareous
-tumultuous
-performer
-dispense
-quietly
-discretion
-proboscis
-frost
-skirt
-laudable
-separated
-pulp
-harm
-privacy
-brought
-sternum
-cost
-rifle
-awake
-tallow
-jump
-vomit
-thirty
-bracket
-terror
-swim
-freezing
-persian
-recently
-unstable
-inequality
-see
-truly
-ripe
-reply
-overhang
-misfortune
-performed
-oyster
-citation
-dilute
-confess
-specially
-extraordinary
-expressed
-contained
-breeze
-contribute
-tent
-contagious
-package
-infect
-volunteer
-percussion
-warbler
-captive
-ingredient
-failing
-secrete
-technical
-knitting
-goddess
-trousers
-puncture
-cheese
-tapering
-ingenious
-windpipe
-workman
-mammalia
-collateral
-shave
-painter
-harass
-reel
-countenance
-frivolous
-evacuate
-ignorance
-happen
-mosaic
-for
-collectively
-slavery
-mackerel
-navigation
-brisk
-savor
-blister
-developed
-claw
-episcopal
-undivided
-redress
-sparkle
-stumble
-coffee
-boisterous
-reproof
-ramble
-encourage
-twice
-thrush
-triangular
-tapeworm
-fitness
-lodging
-appointed
-confer
-manure
-basic
-patriarch
-parties
-phenomena
-expel
-dried
-idiom
-theme
-stimulate
-admitting
-drapery
-genera
-countries
-stamens
-previously
-involving
-separating
-murderous
-seizing
-successful
-frighten
-set
-hoop
-printed
-supported
-spiritless
-plumb
-shoal
-pavilion
-endurance
-encumber
-pendent
-turkey
-conviction
-receiving
-faction
-limber
-disagree
-stupefy
-prevail
-enlarged
-cage
-clasp
-conveying
-mammals
-protoplasm
-engross
-exert
-emperor
-extending
-porous
-consequent
-horseback
-froth
-settled
-bachelor
-reduced
-landscape
-knock
-republican
-partaking
-suspended
-edifice
-capability
-buckle
-vanish
-righteous
-lawful
-maiden
-telltale
-cellular
-convict
-soothe
-snail
-brake
-sparrow
-vast
-chaff
-camp
-filament
-chill
-glassy
-tracing
-elect
-accusation
-fishes
-envy
-hunger
-polite
-lumber
-freely
-flashing
-discredit
-profess
-accretion
-brightness
-moist
-affirm
-illuminate
-melody
-tire
-pliant
-effusion
-exclusion
-text
-blessed
-enrich
-utensil
-frugality
-revenge
-park
-implied
-in
-corona
-differential
-fusion
-impotent
-dissection
-tragedy
-woody
-cleanse
-deceit
-longer
-yearly
-almost
-pendulum
-twin
-indicator
-respiration
-infantry
-hail
-consume
-distrain
-reducing
-chord
-spectator
-illegal
-swiftness
-lever
-prosperous
-colony
-selection
-illusion
-ventilate
-parietal
-arctic
-bismuth
-cranium
-formative
-flax
-solar
-undertaking
-behave
-urinary
-assistance
-but
-worsted
-coral
-humorous
-nineteen
-sameness
-resentment
-gaseous
-lion
-sure
-grecian
-textile
-stagger
-vivacity
-iniquity
-summon
-clause
-velvet
-smear
-encompass
-swollen
-fashionable
-intrude
-deprived
-garnish
-composing
-loom
-preaching
-eloquence
-decayed
-silurian
-parchment
-infection
-magnesium
-prelude
-discontent
-thumb
-tympanum
-distract
-team
-rehearse
-dictate
-abortion
-seminary
-skip
-manager
-selfish
-loathing
-suck
-obsequious
-pyramid
-observant
-establishment
-penance
-trinity
-busy
-springing
-weeping
-gayety
-rugged
-stave
-total
-flask
-concurrence
-mood
-chart
-inscription
-clerk
-viscid
-baptism
-calculus
-enduring
-foretell
-reprove
-eucharist
-madness
-stupidity
-catalogue
-hurry
-atom
-collation
-pillow
-calculate
-eject
-housing
-peel
-location
-inhuman
-tuft
-least
-substantial
-sustained
-thwart
-unlawful
-cabinet
-ventricle
-rigging
-determined
-trip
-assize
-driven
-carpet
-hurt
-smoky
-pump
-longing
-radius
-ambiguous
-exalted
-albumin
-oppression
-frugal
-gothic
-stately
-hooked
-shears
-porcelain
-benzene
-franchise
-although
-fraction
-flavored
-substitution
-distinctly
-entitle
-transit
-since
-nine
-risk
-ghost
-divorce
-prophecy
-representative
-changeable
-bohemian
-unable
-explicit
-advise
-greedy
-squander
-requisite
-enroll
-revolt
-scold
-foreshow
-evaporate
-warfare
-pearly
-vertebral
-swiftly
-stereotype
-herb
-impartial
-hardy
-authorize
-corrosive
-laborious
-infinity
-absorption
-conjunction
-cloister
-reservoir
-acrid
-commodity
-million
-uterus
-eleventh
-fifteen
-pretender
-diatonic
-jury
-hydroxyl
-varieties
-surgery
-commons
-upon
-invent
-responsible
-requite
-prompt
-those
-haul
-reside
-lathe
-allege
-consort
-mentally
-licentious
-excavate
-bury
-babble
-feudal
-canvass
-comprehend
-dissolute
-pension
-blessing
-switch
-effeminate
-repeating
-educate
-balsam
-shuffle
-stifle
-outrage
-invasion
-appease
-tilt
-stoop
-vexatious
-wager
-orbit
-resound
-drawn
-subdued
-dagger
-indication
-pickle
-hackney
-hearty
-relapse
-concealed
-tame
-speculum
-persistent
-blanch
-carbonic
-prickly
-syllogism
-luxury
-childish
-provincial
-knit
-forced
-wasting
-dismiss
-designation
-corporation
-coupling
-venus
-ballast
-lavish
-recording
-phenomenon
-boring
-curvature
-bully
-ruff
-bowsprit
-bastion
-braid
-consult
-harrow
-hasten
-deputy
-suspicious
-betray
-puppet
-playing
-privately
-famous
-assert
-chisel
-permission
-reformed
-ratio
-mustard
-hissing
-hurtful
-leaning
-reversal
-committee
-treason
-villain
-corresponding
-resulting
-treble
-pushing
-examining
-ductile
-affirmation
-flux
-guttural
-remission
-congregation
-annoy
-criticise
-said
-mortify
-heedless
-tabular
-shiver
-uneven
-displeasure
-antique
-fatal
-characteristic
-zigzag
-audible
-reversion
-canker
-shark
-respecting
-surveyor
-pistil
-premature
-agility
-sulphate
-wreath
-inflate
-presage
-lustful
-eighth
-capstan
-confined
-rendered
-chalk
-engender
-twofold
-attractive
-fell
-diligent
-burlesque
-vacancy
-bustle
-misery
-luxurious
-holland
-silicon
-antagonist
-fright
-concretion
-overpower
-dissent
-lover
-introduction
-abandoned
-pottery
-hunt
-lives
-desperate
-roving
-birch
-density
-bunch
-overturn
-revival
-turnpike
-operative
-finishing
-spine
-dismount
-headdress
-veil
-overwhelm
-unhappy
-coarsely
-perplexity
-ellipse
-oration
-tributary
-informal
-herbaceous
-sanctity
-undo
-restoration
-artist
-vicinity
-soak
-vacation
-median
-pivot
-mohammedan
-negligence
-uniformly
-echo
-modify
-testify
-absurd
-seaweed
-collector
-projectile
-aberration
-piston
-saturate
-fallow
-marrow
-vomiting
-infirm
-testing
-enjoy
-languish
-precedent
-stationary
-rudder
-inanimate
-payable
-seventy
-clutch
-china
-peaceful
-sister
-sucking
-preach
-prosecution
-jaundice
-gradient
-hypothesis
-adjoining
-penitent
-comment
-concealment
-perpetual
-airy
-rostrum
-dying
-accuse
-talking
-inherit
-tumbler
-thrown
-palatine
-defraud
-basin
-calmness
-symphony
-rudimentary
-negotiate
-wandering
-quail
-revelation
-greatness
-answerable
-besides
-widow
-alter
-falsify
-autumn
-oval
-crossbow
-recede
-broker
-hatch
-erection
-adjunct
-tense
-habitation
-umbrella
-inclining
-manuscript
-realize
-mild
-folly
-ascending
-patronage
-wedlock
-getting
-snake
-coordinate
-abridge
-dismal
-senior
-oblong
-sequester
-organization
-diseased
-vacuum
-bryozoa
-immersion
-focus
-plait
-founded
-offered
-dioxide
-unfeeling
-fluke
-chicken
-eleven
-maintenance
-puddling
-moisten
-hound
-russian
-perforated
-retainer
-olfactory
-roundish
-warehouse
-granite
-frozen
-launch
-quarry
-splinter
-gunpowder
-molding
-heighten
-surveying
-trough
-searching
-stab
-elevator
-extraction
-refinement
-crotchet
-use
-mound
-rhythm
-ivory
-desirous
-attainment
-rectify
-indolent
-jerk
-umbilicus
-smack
-muse
-auction
-allegiance
-define
-apparently
-tarsus
-inability
-baggage
-boarding
-folding
-junior
-might
-clamp
-changed
-possessed
-passable
-bromine
-sent
-spill
-delirium
-coffin
-trickery
-withered
-polar
-utterly
-stagnant
-phosphorus
-coalesce
-consecrate
-straddle
-submissive
-shatter
-ulcer
-toss
-shameful
-daily
-disengage
-ruler
-bearer
-bony
-calyx
-wickedness
-placed
-changing
-felicity
-poll
-vocation
-attendance
-falsely
-clip
-wonderful
-potash
-bodies
-substantive
-liberate
-ritual
-prevailing
-telegraph
-carrier
-courteous
-waist
-herd
-aspirate
-intend
-potent
-enhance
\ No newline at end of file
diff --git a/cp/ex04/hangman.py b/cp/ex04/hangman.py
deleted file mode 100644
index 85f709b15f79b3210616337547cb3fb49ea9a10b..0000000000000000000000000000000000000000
--- a/cp/ex04/hangman.py
+++ /dev/null
@@ -1,78 +0,0 @@
-"""Exercise 4.12-4.16."""
-def is_word_guessed(secret_word : str, letters_guessed : str) -> bool:
-    """Determine if the word has been guessed.
-
-    :param secret_word: The word to guess
-    :param letters_guessed: A ``str`` containing the letters that have currently been guessed
-    :return: True if and only if all letters in ``secret_word`` have been guessed.
-    """
-    # TODO: 4 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return guessed
-
-
-def get_guessed_word(secret_word : str, letters_guessed : str) -> str:
-    """Format the secret word for the user by removing letters that have not been guessed yet.
-
-    Given a list of the available letters, the function will replace the letters in the secret word with `'_ '`
-    (i.e., a lower-case followed by a space). For instance, if the secret word is ``"cat"``, and the
-    available letters are ``"ct"``, then the function should return ``"c_ t"``.
-
-    :param secret_word: A ``str``, the word the user is guessing
-    :param letters_guessed:  A ``str`` containing which letters have been guessed so far
-    :return: A ``str``, comprised of letters, underscores (_), and spaces that represents which letters in secret_word have been guessed so far.
-    """
-    # TODO: 6 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return word
-
-
-def get_available_letters(letters_guessed : str) -> str:
-    """
-    Return the letters which are available, i.e. have not been guessed so far.
-
-    The input string represents the letters the user have guessed, and the output should then be the lower-case
-    letters which are not contained in that string. The function is used to show the user which
-    letters are available in each round.
-
-    :param letters_guessed: A `str` representing the letters the user has already guessed
-    :return: A `str` containing the letters the user has not guessed at yet.
-    """
-    # TODO: 2 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return letters
-
-
-
-def hangman(secret_word : str, guesses : str):
-    """
-    Play an interactive game of Hangman.
-
-    This function should launch an interactive game of Hangman. The details of the game is defined in the
-    project description available online, and should be read carefully.
-
-    * The game should first display how many letters are in the secret word. You should start by generating this output.
-    * Before each round, the user should see how many guesses that are left and which letters are not yet used
-    * In each round, the user is prompted to input a letter. Use the ``input('..')`` function for this.
-    * The user is given feedback based on whether the letter is in the word or not. The program also performs error handling.
-    * The game terminates when the user win, has exceeded the number of guesses, or if the user makes an illegal input.
-      in this case the user is shown a score.
-
-    :param secret_word: The secret word to guess, for instance ``"cow"``
-    :param guesses: The number of available guesses, for instance ``6``
-    """
-    # TODO: Code has been removed from here.
-    raise NotImplementedError("Insert your solution and remove this error.")
-
-
-
-if __name__ == "__main__":
-    print("This should return True: ", is_word_guessed("dog", "tdohg"))
-    print("This should return False: ", is_word_guessed("dog", "dthk"))
-
-    print("This should be 'c_ w': ", get_guessed_word('cow', 'kcwt'))
-
-    print("Available letters when we have tried 'abcdefghijk'; this should be about half the alphabet: ", get_available_letters('abcdefghijk'))
-
-    print("Lets launch hangman. Try the inputs in the exercise description and see if you get the same")
-    hangman("cow", 4)
diff --git a/cp/ex04/mathematics.py b/cp/ex04/mathematics.py
deleted file mode 100644
index 05838df3f9822c2f34e5dda2bb05926efef69c0b..0000000000000000000000000000000000000000
--- a/cp/ex04/mathematics.py
+++ /dev/null
@@ -1,25 +0,0 @@
-"""Exercise 4.1 and 4.2."""
-import math
-
-def square_root(a : float) -> float:
-    r"""Compute the square root, see section 7.5 in Think Python.
-
-    :param a: A number to compute the square root of.
-    :return: :math:`\sqrt{a}`.
-    """
-    # TODO: 7 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return sqrt_a
-
-def ramanujan() -> float:
-    r"""Compute the Ramanujan approximation of :math:`\pi` using a sufficient number of terms.
-
-    :return: A high-quality approximation of :math:`\pi` as a ``float``.
-    """
-    # TODO: 9 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return pi
-
-if __name__ == "__main__":
-    print("approximate pi", ramanujan())
-    print("square root of 2 is", square_root(2))
diff --git a/cp/ex04/palindrome.py b/cp/ex04/palindrome.py
deleted file mode 100644
index ed1151062b250bf67e04b071978611397d6ff5ae..0000000000000000000000000000000000000000
--- a/cp/ex04/palindrome.py
+++ /dev/null
@@ -1,15 +0,0 @@
-"""Exercise 4.1: Checking if a word is a palindrome."""
-
-def is_palindrome(word : str) -> bool:
-    """Check if ``word`` is a palindrome.
-
-    :param word: The word to check
-    :return: ``True`` if input is a palindrome and otherwise ``False``
-    """
-    # TODO: 2 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return is_a_palindrome
-
-if __name__ == "__main__":
-    print("Is Madam a palindrome?", is_palindrome('madam'))
-    print("Is gentleman a palindrome?", is_palindrome('gentleman'))
diff --git a/cp/ex04/parenthesis.py b/cp/ex04/parenthesis.py
deleted file mode 100644
index a55d73a535b9e1267f9baceea662f5b3ac306edf..0000000000000000000000000000000000000000
--- a/cp/ex04/parenthesis.py
+++ /dev/null
@@ -1,78 +0,0 @@
-"""Exercise 4.x-4.y."""
-def matching(expression :str) -> bool:
-    """Tell if the parenthesis match in a mathematical expression.
-
-    For instance, the parenthesis match in ``"3x(y-1)(3y+(x-1))"`` but not in ``"3x(y-4))"``
-
-    :param expression: An expression containing zero or more parenthesis.
-    :return: ``True`` if the number of open/close parenthesis match, otherwise ``False``
-    """
-    # TODO: 9 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return matching
-
-
-def find_index_of_equality(expression : str) -> int:
-    """Find an index ``i`` which split the expression into two balanced parts.
-
-    Given an expression containing opening and closing parenthesis, for instance ``"(()())"``, this function should
-    return an index ``i``, such that when the string is split at ``i``, the
-    number of opening parenthesis ``(`` in the left-hand part equal the number of closing parenthesis ``)`` in the
-    right-hand part. For instance, if ``i=2``, the expression is split into the right, left hand parts:
-
-    - ``"(()"``
-    - ``"())"``
-
-    In this case the left-hand part contains ``2`` opening parenthesis and ``2`` closign parenthesis so ``i`` is the right index.
-    Similarly, for ``"()"``, the answer would be ``1``.
-
-    :param expression: An expression only consisting of opening and closing parenthesis.
-    :return: The index ``i`` as an int.
-    """
-    # TODO: 6 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return i
-
-
-def print_the_dialogue(s : str):
-    """Print all dialogue in a manuscript.
-
-    Given a manuscript (as a ``str``), this function will find all lines of dialogue to the console, one line of
-    dialogue per printed line. Dialogue is enclosed by double ticks, i.e. this ``str`` contains two pieces of dialogue:
-    ``"''My dear Mr. Bennet,'' said his lady to him one day, ''have you heard that Netherfield Park is let at last?''"``
-
-    :param s: The manuscript as a ``str``.
-    """
-    # TODO: 4 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-
-def find_innermost_part(s : str) -> str:
-    """Find the innermost part of a mathematical expression.
-
-    The innermost part is a substring enclosed in parenthessis but not containing parenthesis.
-    For instance, given ``"3(x+(4-y^2))"``, then ``"4-y^2"`` is an inner-most part.
-    The parenthesis can be assumed to match.
-
-    :param s: The mathematical expression as a ``str``
-    :return: The innermost part as a ``str``
-    """
-    # TODO: 3 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return inner_part
-
-
-
-if __name__ == "__main__":
-    print("Does the parenthesis match?", matching("2x(x+2)"))
-    print("Does the parenthesis match?", matching("2x(x+(2-y)^2)"))
-    print("Does the parenthesis match?", matching("4x"))
-
-    print("Does the parenthesis match?", matching("2x(x+2"))
-    print("Does the parenthesis match?", matching("2x)(x"))
-    print("Does the parenthesis match?", matching("4x()(()))"))
-
-    s = "(())))("
-
-    print("Index of equality for", s, "is", find_index_of_equality(s))
-    dialogue = "He said: ''How are you old wife''? She answered, perplexed, ''I am not your wife''"
-    print_the_dialogue(dialogue)
diff --git a/cp/ex04/play_hangman.py b/cp/ex04/play_hangman.py
deleted file mode 100644
index 3f9f48f9afbcec1e395abc922cd7232d412b59d2..0000000000000000000000000000000000000000
--- a/cp/ex04/play_hangman.py
+++ /dev/null
@@ -1,25 +0,0 @@
-"""Play a game of hangman by loading a random word."""
-import random
-import os
-
-def load_words() -> list:
-    """
-    Return a list of valid words. Words are strings of lowercase letters.
-
-    Depending on the size of the word list, this function may
-    take a while to finish.
-
-    :return: The available words as a list.
-    """
-    from cp.ex08.words import load_words
-    wordlist = load_words(os.path.join(os.path.dirname(__file__), "files", "5000-words.txt")).split()
-    return wordlist
-
-
-def choose_word() -> str:
-    """Select a word at random.
-
-    :return: A randomly selected word, useful for playing hangman.
-    """
-    wordlist = load_words()
-    return random.choice(wordlist)
diff --git a/cp/ex04/prefix.py b/cp/ex04/prefix.py
deleted file mode 100644
index e7734d78aa9e987c103be7d5e007d4216a4cc5b4..0000000000000000000000000000000000000000
--- a/cp/ex04/prefix.py
+++ /dev/null
@@ -1,33 +0,0 @@
-"""Exercise XX."""
-
-
-def common_prefix(word1 : str, word2 : str) -> str:
-    """
-    Return the longest string so that both ``word1``, and ``word2`` begin with that string.
-
-    :param word1: First word
-    :param word2: Second word
-    :return: The longest common prefix.
-    """
-    # TODO: 6 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return prefix
-
-def common_prefix3(word1 : str, word2 : str, word3 : str) -> str:
-    """
-    Return the longest string so that both ``word1``, ``word2``, and ``word3`` begin with that string.
-
-    :param word1: First word
-    :param word2: Second word
-    :param word3: Third word
-    :return: The longest common prefix.
-    """
-    # TODO: 1 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return prefix
-
-
-# Driver Code
-if __name__ == "__main__":
-    print("The longest Common Prefix is :", common_prefix("egregious", "egg"))
-    print("The longest Common Prefix is :", common_prefix3("egg", "egregious", "eggplant"))
diff --git a/cp/ex09/__init__.py b/cp/ex09/__init__.py
deleted file mode 100644
index 0be31d7b89d2f11b47aac820746bfa405a05e636..0000000000000000000000000000000000000000
--- a/cp/ex09/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-"""Exercises for week 9."""
diff --git a/cp/ex09/rectangle.py b/cp/ex09/rectangle.py
deleted file mode 100644
index 2ef08c734a79adb885101e34abf0a0bbc956859d..0000000000000000000000000000000000000000
--- a/cp/ex09/rectangle.py
+++ /dev/null
@@ -1,77 +0,0 @@
-"""The Rectangle-exercises 9.1-9.2."""
-import matplotlib.pyplot as plt
-
-class Point:
-    """A class that represents a Point. See Section 15.1."""
-
-class Rectangle:
-    """A class that represents a Rectangle. See Section 15.3."""
-
-def area(rectangle : Rectangle) -> float: 
-    """Compute the area of a Rectangle-object.
-
-    :param rectangle: A rectangle-object. Recall it has properties such as ``rectangle.width`` and ``rectangle.height``.
-    :return: The area of the rectangle.
-    """
-    # TODO: 1 lines missing.
-    raise NotImplementedError("Compute the area here. Try to use the debugger if you are stuck.")
-    return a
-
-def make_a_rectangle(x, y, width, height): 
-    """Create and return a new Rectangle-object. Look at Section 15.3 to see what fields it must possess.
-
-    :param x: The x-position of the lower-left corner.
-    :param y: The y-position of the lower-left corner.
-    :param width: The width of the rectangle.
-    :param height: The height of the rectangle.
-    :return: A new Rectangle object.
-    """
-    # TODO: 6 lines missing.
-    raise NotImplementedError("Create and return a Rectangle object here.")
-    return rect
-
-def split_rectangle(rectangle : Rectangle, horizontally : bool) -> list: 
-    """Split the rectangle object into two. Either horizontally or vertically.
-
-    For instance, if ``horizontally=True`` this function should return a list such as
-    ``[left_rectangle, right_rectangle]``.
-
-    :param rectangle: A rectangle-object.
-    :param horizontally: If ``True`` the Rectangle is split horizontally otherwise vertically.
-    :return: A list with two Rectangle-objects.
-    """
-    # TODO: 5 lines missing.
-    raise NotImplementedError("Implement function body")
-    return split
-
-def plot_rectangle(rectangle: Rectangle): 
-    """Plot the rectangle using matplotlib.
-
-    :param rectangle: The Rectangle to plot.
-    """
-    # TODO: 5 lines missing.
-    raise NotImplementedError("Implement function body")
-
-def rectangle_inception(rectangle, n): 
-    r"""Recursively generate a list of n+1 rectangles by applying split_rectangle n times.
-
-    Note that the list should contain n+1 non-overlapping rectangles with the same total area as the original rectangle.
-    The function should begin with a horizontal split.
-
-    :param rectangle: The initial rectangle to split.
-    :param n: How many recursive splits to apply
-    :return: A list of n+1 Rectangle-instances of the form ``[left, right_top, ...]``
-    """
-    # TODO: 3 lines missing.
-    raise NotImplementedError("Implement function body")
-    return rectangles
-
-
-if __name__ == "__main__":
-    rectangles = rectangle_inception(make_a_rectangle(0, 0, 10, 10), 10)
-    for r in rectangles:
-        plot_rectangle(r)
-    # Optionally: Let's save the rectangle for later:
-    from cp import savepdf
-    savepdf("rectangles.pdf") # Save your pretty rectangles for later.
-    plt.show()
diff --git a/cp/ex09/sinus.py b/cp/ex09/sinus.py
deleted file mode 100644
index 2497a9f9b90080db69f6a6b09ff0da309f42a4f6..0000000000000000000000000000000000000000
--- a/cp/ex09/sinus.py
+++ /dev/null
@@ -1,83 +0,0 @@
-"""Project work for week 9, classes I."""
-import math
-
-class Sin:
-    """A class that represents the sinus-function, i.e. sin(x) where x can be any expression."""
-
-class Cos:
-    """A class that represents the cosine-function, i.e. cos(x) where x can be any expression."""
-
-class Variable:
-    """A class that represents a (named) variable such as ``x``, ``y``, ``x2``, etc."""
-
-
-def make_symbol(symbol : str) -> Variable: 
-    """Create a new Variable object with the given name.
-
-    If ``v = make_symbol(x)`` then ``v.symbol`` should be the string ``"x"``.
-
-    :param symbol: The symbol this variable represents, e.g. ``"x"``.
-    :return: A new variable object.
-    """
-    # TODO: 2 lines missing.
-    raise NotImplementedError("Implement function body")
-    return v
-
-def sine(arg : object) -> Sin: 
-    """Create a new Sin object. The object will represent sin(arg).
-
-    In other words, if we let ``s = sine(arg), then s.arg should be equal to ``arg``. In our case,
-    ``arg`` can be either a ``Variable``, or an object such as ``Sin``.
-
-    :param arg: The argument to sin.
-    :return: An object representing ``sin(arg)``.
-    """
-    # TODO: 2 lines missing.
-    raise NotImplementedError("Implement function body")
-    return s
-
-def cosine(arg : object) -> Cos: 
-    """Create a new Cos object. The object will represent cos(arg).
-
-    In other words, if we let ``s = cosine(arg), then s.arg should be equal to ``arg``. In our case,
-    ``arg`` can be either a ``Variable``, or an object such as ``Cos``.
-
-    :param arg: The argument to cos.
-    :return: An object representing ``cos(arg)``.
-    """
-    # TODO: 2 lines missing.
-    raise NotImplementedError("Implement function body")
-    return s
-
-def format_expression(expression : object) -> str:
-    """Format the given expression and return it as a string.
-
-    The expression is an object either of class Variable, Sin or Cos. The function should format it as a ``str``.
-
-    :param expression: An object to format.
-    :return: A string representation such as ``"cos(x)"`` or ``"sin(cos(y))"``.
-    """
-    # TODO: 6 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-
-
-if __name__ == "__main__":
-    exp = sine(cosine(sine(sine(make_symbol('x')))))
-    print( format_expression(exp) )
-    # print(format_expression(exp), "evaluated in x=0 is", evaluate(exp, 0) )
-
-    from sympy import sin, cos, symbols, evaluate, Symbol
-    evaluate_expression = sin.evalf  # Get the evaluation-function. Ignore the right-hand side for now.
-    print_expression = sin.__str__   # Get the formatting-function. Ignore the right-hand side for now.
-
-    x = symbols('x') # Define a symbol
-    y = sin(cos(x))
-    print_expression(y)
-    evaluate_expression(y, subs={'x': 0})
-
-    y = sin(x)
-    isinstance(y, sin) # It is an instance of the sin-class
-    from sympy import Symbol
-    y.args
-    isinstance(y.args[0], Symbol)
-    y.args[0] == x
diff --git a/cp/ex09/vector.py b/cp/ex09/vector.py
deleted file mode 100644
index a891d7f47ae2dd13a02ee11d6a99ce06f2f3fef4..0000000000000000000000000000000000000000
--- a/cp/ex09/vector.py
+++ /dev/null
@@ -1,228 +0,0 @@
-"""This file contains all the exercises relating to the Minecraft-example 9.3-9.8."""
-import matplotlib.pyplot as plt
-
-class Vector:
-    """A class that represents a Vector, defined by the endpoint :math:`(x,y)`."""
-
-def make_vector(x : float, y : float) -> Vector:
-    """Create a new Vector object with end-points :math:`(x,y)`.
-
-    .. runblock:: pycon
-
-        >>> from cp.ex09.vector import make_vector
-        >>> v = make_vector(2,3)
-        >>> v.x
-        >>> v.y
-
-    :param x: The :math:`x`-position of the vector.
-    :param y: The :math:`y`-position of the vector.
-    :return: A Vector-object with the given end-point.
-    """
-    # TODO: 3 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return v
-
-def print_vector(v: Vector):
-    """Print a vector object with coordinates (x,y) to the console.
-
-    The output format for a vector with coordinates :math:`x, y` should be simply ``(x, y)`` (on a single line)
-
-    :param v: A vector object instance.
-    """
-    # TODO: 1 lines missing.
-    raise NotImplementedError("print(.. format the print statement here .. )")
-
-def dot(v1 : Vector, v2 : Vector) -> float:
-    r"""Compute the dot-product of ``v1`` and ``v2``, i.e. :math:`\mathbf{v}_1 \cdot \mathbf{v}_2`.
-
-    :param v1: The first vector,
-    :param v2: The second vector,
-    :return: The dot product of ``v1`` and ``v2`` (as a ``float``)
-    """
-    # TODO: 1 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return dot_product
-
-def scale(s : float, v : Vector) -> Vector:
-    r"""Scale the vector :math:`\mathbf{v}` by a factor of :math:`s`.
-
-    :param s: A scalar number
-    :param v: A vector
-    :return: The vector :math:`s \mathbf{v}`.
-    """
-    # TODO: 1 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return w
-
-def add(v1 : Vector, v2 : Vector) -> Vector:
-    r"""Add the two vectors ``v1`` and ``v2`` and return the sum as a ``Vector`` object.
-
-    :param v1: The first vector,
-    :param v2: The second vector.
-    :return: Their sum :math:`\mathbf{v}_1+\mathbf{v}_2`
-    """
-    # TODO: 1 lines missing.
-    raise NotImplementedError("Use make_vector to make create the new vector.")
-    return vector_sum
-
-def sub(v1 : Vector, v2 : Vector) -> Vector:
-    r"""Subtract the two vectors ``v1`` and ``v2`` and return the difference as a ``Vector`` object.
-
-    :param v1: The first vector,
-    :param v2: The second vector.
-    :return: Their difference :math:`\mathbf{v}_1-\mathbf{v}_2`
-    """
-    # TODO: 1 lines missing.
-    raise NotImplementedError("Remember that x - y = x + (-1) * y.")
-    return diff
-
-
-def hat(v):
-    r"""Given a ``Vector`` v1, this function returns a new vector which is orthogonal to v1 ('Tværvektoren' in Danish).
-
-    :param v: A vector :math:`\mathbf{v}`.
-    :return: A ``Vector`` that is orthogonal to :math:`\mathbf{v}`, i.e. :math:`\hat{\mathbf{v}}`.
-    """
-    # TODO: 1 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return v_hat
-
-class LineSegment:
-    """A class that represents a line segment."""
-
-def make_line_segment(p : Vector, q : Vector) -> LineSegment:
-    r"""Construct a ``LineSegment`` connecting the two vectors ``p`` and ``q``.
-
-    Note you have some freedom in terms of how you wish to store ``p`` and ``q`` in the ``LineSegment`` object;
-    i.e. you can either store ``p`` and ``q`` directly similar to the ``Vector``, or perhaps do something slightly
-    smarter.
-
-    :param p: The vector the line segments begins in
-    :param q: The line segment the vector ends in
-    :return: A LineSegment class representing the LineSegment.
-    """
-    # TODO: 3 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return l
-
-
-def point_on_line(l : LineSegment, t : float) -> Vector:
-    r"""Interpolate between the end-points of the LineSegment.
-
-    Given a line segment, the function will interpolate between the end-points using :math:`t \in [0,1]`
-    and return a Vector. This can be used to compute any point on the LineSegment and :math:`t=0,1` will
-    correspond to the end-points. The order is not important for the following problems.
-
-    :param l: A line defined by the two end-points vectors
-    :param t: Weighting of the two end-point in the inerpolation, :math:`t \in [0,1]`.
-    :return: A ``Vector`` corresponding to :math:`\mathbf{p} + (\mathbf{q}-\mathbf{p})t`.
-    """
-    # TODO: 1 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return s
-
-def plot_vector(v: Vector):
-    """Plot a Vector using matplotlib.
-
-    :param v: Vector to plot.
-    """
-    plt.plot(v.x, v.y, 'ro')
-
-def plot_line(l : LineSegment):
-    r"""Plot a LineSegment using matplotlib.
-
-    :param l: The line segment to plot
-    """
-    p = point_on_line(l, 0)
-    q = point_on_line(l, 1)
-    plt.plot([p.x, q.x], [p.y, q.y], 'k-')
-
-
-class SquareWithPosition:
-    """Corresponds to a square located in space. I.e., each corner has an :math:`(x,y)` coordinate."""
-
-def make_square_with_position(x : float,y : float, width : float) -> SquareWithPosition:
-    r"""Create a ``SquareWithPosition`` instance with lower-left corner at :math:`(x,y)` and the given ``width``.
-
-    Note: It is up to you how you want to store the information in the SquareWithLocation-class. You can for instance
-    choose to store the four corners as ``Vector``-objects, the four sides as ``LineSegment``-objects.
-
-    :param x: :math:`x`-position of the lower-left corner
-    :param y: :math:`y`-position of the lower-left corner
-    :param width: The side-length of the rectangle
-    :return: A ``SquareWithLocation`` object.
-    """
-    # TODO: 5 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return s
-
-
-def intersect(l1: LineSegment, l2: LineSegment) -> Vector:
-    """Get the intersection between two line segments assuming they intersects.
-
-    :param l1: First line
-    :param l2: Second line
-    :return: A ``Vector`` representing the point of intersection.
-    """
-    # TODO: Code has been removed from here.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return p
-
-def do_they_intersect(l1 : LineSegment, l2 : LineSegment) -> bool:
-    """Determine if two line segments intersects.
-
-    :param l1: First line segment
-    :param l2: Second line segment
-    :return: ``True`` if the two line segments intersects, otherwise ``False``.
-    """
-    # TODO: 3 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return is_intersecting
-
-
-def square_to_lines(sq : SquareWithPosition) -> list:
-    """Return a list of ``LineSegment``-objects corresponding to the four sides.
-
-    :param sq: The square
-    :return: A list of four sides, ``[l1, l2, l3, l4]``
-    """
-    # TODO: 1 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return lines
-
-def plot_square(sq: SquareWithPosition):
-    """Plot the ``SquareWithLocation`` instance.
-
-    :param sq: The square to plot
-    """
-    # TODO: 2 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-
-def get_intersections(sq : SquareWithPosition, l : LineSegment) -> list:
-    """Return a list of ``Vector``-objects corresponding to all intersections between the square and line segment.
-
-    :param sq: A square
-    :param l: A line segment
-    :return: A list of 0, 1, or 2 ``Vector``-objects corresponding to the intersections.
-    """
-    # TODO: 1 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-    return intersections
-
-def plot_intersections(sq : SquareWithPosition, l : LineSegment):
-    """Plot all intersections between the square and line.
-
-    :param sq: A square
-    :param l: A line segment
-    """
-    # TODO: 2 lines missing.
-    raise NotImplementedError("Insert your solution and remove this error.")
-
-if __name__ == '__main__':
-    square = make_square_with_position(1,1,2)
-    line = make_line_segment(make_vector(-1, -1), make_vector(2, 4) )
-    vec = make_line_segment(make_vector(1, 1), make_vector(3, 1) )
-    plot_square(square)
-    plot_line(line)
-    plot_intersections(square, line)
-    plt.show()
diff --git a/cp/ex10/__init__.py b/cp/ex10/__init__.py
deleted file mode 100644
index 24a53b8359da2d36ace8ec63be1da661c813dd7d..0000000000000000000000000000000000000000
--- a/cp/ex10/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-"""This package represents exercise 10."""
diff --git a/cp/ex10/hospital.py b/cp/ex10/hospital.py
deleted file mode 100644
index 21afd9e9ed33804bbbe62b223dd9547401c0b876..0000000000000000000000000000000000000000
--- a/cp/ex10/hospital.py
+++ /dev/null
@@ -1,20 +0,0 @@
-"""Exercise 10.1: A hospital with doctors and patients."""
-
-illnesses = {'hanging toenail': ('feets', 200), 
-             'stepped on lego': ('feets', 100),
-             'headache': ('head', 100),
-             'toothache': ('head', 200),
-            } 
-
-class Person:
-    """A simple class that represents a person."""
-
-    # TODO: 20 lines missing. 
-
-
-
-# TODO: 73 lines missing. 
-
-if __name__ == "__main__":
-    p = Person("Patricia Smith", 24, 'f') # use the __init__-method to construct the person.
-    print(p) # Call the str-method
diff --git a/cp/ex10/inherit.py b/cp/ex10/inherit.py
deleted file mode 100644
index e48a3a8d25c1e277209032772e772844e972a0ac..0000000000000000000000000000000000000000
--- a/cp/ex10/inherit.py
+++ /dev/null
@@ -1,58 +0,0 @@
-"""A small example of how to use the super()-keyword."""
-class Pet: 
-    """A basic Pet-class."""
-
-    def __init__(self, name, age):  
-        """Create a new Pet object.
-
-        :param name: The name of the Pet
-        :param age: The age of the Pet.
-        """
-        self.name = name 
-        self.age = age
-
-    def __str__(self): 
-        """
-        Automatically called by ``print(..)``.
-
-        :return: A string representation such as ``"Fido (3 years old)"``.
-        """
-        return f"{self.name} ({self.age} years old)"  
-
-class SimpleCat(Pet):
-    """A simple Cat-class. This example contains duplicated code."""
-
-    def __init__(self, name, age, favorite_food): 
-        """Construct a new Cat-object. Asides the name and age, it also has a favorite food.
-
-        :param name: The name of the cat, for instance ``'Mr. Whiskers'``
-        :param age: The age, for instance 3.
-        :param favorite_food: The favorite food, for instance ``"fish"``.
-        """
-        self.name = name 
-        self.age = age
-        self.favorite_food = favorite_food
-
-class ImprovedCat(Pet):
-    """The ImprovedCat uses super() to avoid duplicate code."""
-
-    def __init__(self, name, age, favorite_food): 
-        """Construct a new Cat-object. The example function similar to the one before.
-
-        :param name: The name of the cat, for instance ``'Mr. Whiskers'``
-        :param age: The age, for instance 3.
-        :param favorite_food: The favorite food, for instance ``"fish"``.
-        """
-        super().__init__(name, age)         # Call the Pet.__init__()-method. 
-        self.favorite_food = favorite_food  # We stll need to store this one. 
-
-
-if __name__ == "__main__":
-    a = SimpleCat("Mr. Whiskers", 3, "fish")
-    print(a)
-    print(a.favorite_food)
-    # Now let's make an improved cat.
-
-    b = SimpleCat("Mr. Super-duper whiskers", 4, "whatever you are eating")
-    print(b)
-    print(b.favorite_food)
diff --git a/cp/ex10/symbolic.py b/cp/ex10/symbolic.py
deleted file mode 100644
index 0f0b5ec502a98778bb81941771afbb0199a7d484..0000000000000000000000000000000000000000
--- a/cp/ex10/symbolic.py
+++ /dev/null
@@ -1,82 +0,0 @@
-"""Project work for week 10: A do-it-yourself sympy."""
-import math
-
-
-class Expression: 
-    """A mathematical expression. Can represent a constant `1`, a symbol such as `x`, or a function such as `sin(x)`."""
-
-    def evaluate(self, substitutions : dict) -> float: 
-        """Evaluate the expression and return a floating-point number.
-
-        The input argument is a dictionary which is used to evaluate all symbols. E.g. if ``substitutions = {'x': 3}``,
-        this means all instances of the symbolic expression ``x`` will be replaced by ``3``.
-
-        :param substitutions: A dictionary of substitutions. The keys are strings, and the values are numbers.
-        :return: A floating-point number this expression has been evaluated to.
-        """
-        return 0 
-
-    def differentiate(self, variable : str) -> 'Expression': 
-        r"""Differentiate the expression with respect to the variable, specified as e.g. ``"x"``.
-
-        Note that if this expression is a function of other variables, we must use the chain-rule to recursively
-        differentiate the other expressions. e.g. :math:`\sin(f(x))' = \cos(f(x))f'(x)`.
-
-        :param variable: The variable we differentiate with respect to (example: ``"x"``)
-        :return: A class that inherits from ``Expression`` which corresponds to the derivative with respect to the given variable.
-        """
-        return Expression()  
-
-    def __str__(self) -> str:  
-        """Provide a string representation of the expression. The function is called automatically by ``print``.
-
-        :return: A string representation of this expression.
-        """
-        return "Remember to implement the __str__()-function."  
-
-# TODO: Code has been removed from here. 
-
-if __name__ == "__main__":
-    # construct some symbolic expressions
-    c1 = Constant(2)
-    c2 = Constant(3)
-    v = Variable('x')
-
-    # construct expression (2 * x + 3)
-    expr1 = Addition(Multiplication(c1, v), c2)
-
-    print(expr1)
-    print(expr1.differentiate("x"))
-
-    # let's evaluate this expression for x = 4
-    print(expr1.evaluate( {'x': 4}  ))  # prints 11
-
-    # let's differentiate this expression with respect to x
-    # it should be (2 * 1 + 0) = 2
-    diff_expr1 = expr1.differentiate('x')
-
-    # evaluate the derivative at x = 4
-    print(diff_expr1.evaluate( {'x': 2}  ))  # prints 2
-
-
-    # construct another expression (x ^ 3)
-    expr2 = Sin(v) #  Constant(3))
-
-    # let's evaluate this expression for x = 2
-    print(expr2.evaluate( {'x': 2} ))  # prints 8
-    print(expr2)
-    # let's differentiate this expression with respect to x
-    # it should be 3 * x ^ 2 which equals 3 * 2 ^ 2 = 12 at x = 2
-    diff_expr2 = expr2.differentiate('x')
-    print(diff_expr2)
-
-    print( Sin(Cos(Cos(v))).differentiate('y') )
-
-
-    # evaluate the derivative at x = 2
-    print(diff_expr2.evaluate({'x': 2}))  # prints 12
-
-
-# Doctor
-# Person
-# Patient
diff --git a/cp/project2/__init__.py b/cp/project2/__init__.py
deleted file mode 100644
index 890dc18eaf0fafeab3829fd71c6e5c41882a86cc..0000000000000000000000000000000000000000
--- a/cp/project2/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-"""Dummy (test) project from 02465."""
diff --git a/cp/project2/project2_grade.py b/cp/project2/project2_grade.py
deleted file mode 100644
index 0d83fe7594a1f80a61092ccc2f53175223d1ce38..0000000000000000000000000000000000000000
--- a/cp/project2/project2_grade.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# cp/project2/project2_tests.py
-''' WARNING: Modifying, decompiling or otherwise tampering with this script, it's data or the resulting .token file will be investigated as a cheating attempt. '''
-import bz2, base64
-exec(bz2.decompress(base64.b64decode('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')))
\ No newline at end of file
diff --git a/cp/project2/project2_tests.py b/cp/project2/project2_tests.py
deleted file mode 100644
index 09f4b83349cb25ef6725b3b51854c9b463df0890..0000000000000000000000000000000000000000
--- a/cp/project2/project2_tests.py
+++ /dev/null
@@ -1,206 +0,0 @@
-import string
-from unitgrade import hide
-from cp import minput
-from unittest.mock import patch
-import io
-import unittest
-from unitgrade import UTestCase, Report
-import math
-
-class TestTheFunctionToBisect(UTestCase):
-    def test_f(self):
-        from cp.ex03.bisect import f
-        self.assertAlmostEqual(f(0), 0.1411200080598672)
-        self.assertAlmostEqual(f(1),  0.4871688735635369 )
-        self.assertAlmostEqual(f(2),  -0.9484917234010158)
-        self.assertAlmostEqual(f(math.pi), 0.6145000731172406 )
-        self.assertAlmostEqual(f(-10), 0.244199939520782)
-        self.assertAlmostEqual(f(117),  -0.9996260520700749)
-
-
-class TestIsThereARoot(UTestCase):
-
-    def test_root_exists(self):
-        from cp.ex03.bisect import is_there_a_root
-        self.assertTrue(is_there_a_root(1, 3))  # root exists between 0 and pi
-
-
-
-    def test_no_root_exists(self):
-        from cp.ex03.bisect import is_there_a_root
-        self.assertFalse(is_there_a_root(3.2, 3.8))  # no root exists between 0 and 2pi
-
-
-    def test_root_not_found(self):
-        from cp.ex03.bisect import is_there_a_root
-        self.assertFalse(is_there_a_root(1, 3.5))
-
-
-
-class TestBisect(UTestCase):
-    def test_base_case(self):
-        from cp.ex03.bisect import bisect
-        self.assertAlmostEqual(bisect(1, 3, 0.1), 1.8125)
-        self.assertAlmostEqual(bisect(1, 5.5, 0.1), 4.0234375)
-
-
-
-    def test_tolerances(self):
-        from cp.ex03.bisect import bisect
-        self.assertAlmostEqual(bisect(2, 3.5, 10), 2.75)
-        self.assertAlmostEqual(bisect(2, 3.5, 0.1),  3.03125)
-
-
-    def test_no_solution(self):
-        from cp.ex03.bisect import bisect
-        self.assertTrue(math.isnan(bisect(1, 3.5, 1)))
-
-
-
-class HangmanIsGuessed(UTestCase):
-    def test_is_word_guessed(self):
-        from cp.ex04.hangman import is_word_guessed
-        self.assertTrue(is_word_guessed("dog", "tdohg"))
-        self.assertTrue(is_word_guessed("dog", "tdohg"))
-        self.assertFalse(is_word_guessed("dog", ""))
-        self.assertFalse(is_word_guessed("species", "sdcbwegk"))
-        self.assertTrue(is_word_guessed("species", "qseicps"))
-
-
-class HangmanGuessedWord(UTestCase):
-    def test_get_guessed_word(self):
-        from cp.ex04.hangman import get_guessed_word
-
-        self.assertEqual(get_guessed_word('cow', 'kcw'), 'c_ w')
-        self.assertEqual(get_guessed_word('apple', ''), '_ _ _ _ _ ')
-        self.assertEqual(get_guessed_word('tasks', 'ws'), '_ _ s_ s')
-
-
-
-class HangmanAvailableLetters(UTestCase):
-    def test_get_available_letters(self):
-        from cp.ex04.hangman import get_available_letters
-
-        self.assertEqual(len(get_available_letters('')), 26)
-        self.assertEqual(set(get_available_letters('bcdew')), set(string.ascii_lowercase).difference('bcdew'))
-
-
-
-
-
-class Hangman(UTestCase):
-    @unittest.mock.patch('sys.stdout', new_callable=io.StringIO)
-    def test_hangman_startup(self, mock_stdout):
-        from cp.ex04.hangman import hangman
-        try:
-            with unittest.mock.patch('builtins.input', minput([None])):
-                hangman("cow", guesses=4)  
-        except GeneratorExit as e:
-            pass
-        out = mock_stdout.getvalue()
-        lines = out.splitlines()
-        self.assertEqual(len(lines), 4, msg='You must print 4 lines')
-        self.assertEqual(lines[0], 'Hangman! To save Bob, you must guess a 3 letter word within 4 attempts.', msg='First printed line is wrong')
-        self.assertEqual(lines[1],  '----', msg='Second printed line is wrong')
-        self.assertEqual(lines[2],  'You have 4 guesses left.', msg='Third printed line is wrong')
-        self.assertTrue("." in lines[3] and ":" in lines[3], msg="Your fourth line must have both a colon and a period")
-
-        fp = lines[3].split(".")[0].split(":")[1].strip()
-        self.assertEqual(len(fp), 26, msg="The alphabet has 26 letters.")
-        self.assertEqual(set(fp),       set(string.ascii_lowercase), msg="You failed to print the alphabet")
-
-
-    def chk_alphabet(self, line, missing):
-        self.assertTrue("." in line and ":" in line, msg="Your alphabet printout must have both a colon and a period")
-        fp = line.split(".")[0].split(":")[1].strip()
-        ab = set( [c for c in string.ascii_lowercase if c not in missing])
-        self.assertEqual(len(fp), len(ab), msg="The alphabet printout has to few characters")
-        self.assertEqual(set(fp), ab, msg="You failed to print the alphabet")
-
-    @unittest.mock.patch('sys.stdout', new_callable=io.StringIO)
-    def test_hangman_correct(self, mock_stdout):
-        from cp.ex04.hangman import hangman
-        try:
-            with unittest.mock.patch('builtins.input', minput(['w', None])):
-                hangman("cow", guesses=4)
-        except GeneratorExit as e:
-            pass
-        out = mock_stdout.getvalue()
-        lines = out.splitlines()
-        self.assertEqual(len(lines), 8, msg='You must print 8 lines')
-        self.assertEqual(lines[-4],  'Good guess: _ _ w',  msg='Format guessed word correctly')
-        self.assertEqual(lines[-3], '----')
-        self.assertEqual(lines[-2], 'You have 3 guesses left.', msg='Third printed line is wrong')
-        self.chk_alphabet(lines[-1], missing='w')
-
-
-
-    @unittest.mock.patch('sys.stdout', new_callable=io.StringIO)
-    def test_hangman_false(self, mock_stdout):
-        from cp.ex04.hangman import hangman
-        try:
-            with unittest.mock.patch('builtins.input', minput(['q', None])):
-                hangman("doggy", guesses=4)
-        except GeneratorExit as e:
-            pass
-        out = mock_stdout.getvalue()
-        lines = out.splitlines()
-        self.assertEqual(len(lines), 8, msg='You must print 8 lines')
-        self.assertEqual(lines[-4],  'Oh no: _ _ _ _ _ ',  msg='Format guessed word correctly')
-        self.assertEqual(lines[-3], '----')
-        self.assertEqual(lines[-2], 'You have 3 guesses left.', msg='Third printed line is wrong')
-        self.chk_alphabet(lines[-1], missing='q')
-
-
-    @unittest.mock.patch('sys.stdout', new_callable=io.StringIO)
-    def test_hangman_win(self, mock_stdout):
-        from cp.ex04.hangman import hangman
-        try:
-            with unittest.mock.patch('builtins.input', minput(['q', 'd', 'g', 'o', 'y', None])):
-                hangman("doggy", guesses=8)
-        except GeneratorExit as e:
-            pass
-        out = mock_stdout.getvalue()
-        lines = out.splitlines()
-        self.assertEqual(len(lines), 22, msg='You must print 22 lines')
-        self.assertTrue(lines[-1], 'Your score is 20')
-
-    @unittest.mock.patch('sys.stdout', new_callable=io.StringIO)
-    def test_hangman_loose(self, mock_stdout):
-        from cp.ex04.hangman import hangman
-        try:
-            with unittest.mock.patch('builtins.input', minput(['%'])):
-                hangman("cat", guesses=5)
-        except GeneratorExit as e:
-            pass
-        out = mock_stdout.getvalue()
-        lines = out.splitlines()
-        self.assertEqual(len(lines), 5, msg='You must print 5 lines')
-        self.assertTrue(lines[-1], 'Game over :-(. Your score is 0 points.')
-
-
-
-
-
-
-
-class Project2(Report):
-    title = "Project 2"
-    remote_url = "https://cp.pages.compute.dtu.dk/02002public/_static/evaluation/"
-
-    abbreviate_questions = True
-    questions = [(TestTheFunctionToBisect, 5),
-                (TestIsThereARoot, 15),
-                 (TestBisect, 15),
-                (HangmanIsGuessed, 10),
-                 (HangmanGuessedWord, 10),
-                 (HangmanAvailableLetters, 10),
-                 (Hangman, 30),
-                 ]
-    import cp
-    pack_imports = [cp]
-
-
-if __name__ == "__main__":
-    from unitgrade import evaluate_report_student
-    evaluate_report_student(Project2())
diff --git a/cp/project2/unitgrade_data/Hangman.pkl b/cp/project2/unitgrade_data/Hangman.pkl
deleted file mode 100644
index 7c0a2aa1ef22331f47cfeeb06af407e0b84aca66..0000000000000000000000000000000000000000
Binary files a/cp/project2/unitgrade_data/Hangman.pkl and /dev/null differ
diff --git a/cp/project2/unitgrade_data/HangmanAvailableLetters.pkl b/cp/project2/unitgrade_data/HangmanAvailableLetters.pkl
deleted file mode 100644
index fa31b59fc1eff2fbc72667f32b692d60eca9f915..0000000000000000000000000000000000000000
Binary files a/cp/project2/unitgrade_data/HangmanAvailableLetters.pkl and /dev/null differ
diff --git a/cp/project2/unitgrade_data/HangmanGuessedWord.pkl b/cp/project2/unitgrade_data/HangmanGuessedWord.pkl
deleted file mode 100644
index 408c6ccd45891bfbb376f594abe69e2310086e49..0000000000000000000000000000000000000000
Binary files a/cp/project2/unitgrade_data/HangmanGuessedWord.pkl and /dev/null differ
diff --git a/cp/project2/unitgrade_data/HangmanIsGuessed.pkl b/cp/project2/unitgrade_data/HangmanIsGuessed.pkl
deleted file mode 100644
index 0712521c86634a4d76443c14e248bc1201e4b1f0..0000000000000000000000000000000000000000
Binary files a/cp/project2/unitgrade_data/HangmanIsGuessed.pkl and /dev/null differ
diff --git a/cp/project2/unitgrade_data/TestBisect.pkl b/cp/project2/unitgrade_data/TestBisect.pkl
deleted file mode 100644
index 30154185053cbb5dda18eac4d4988fe1425e1cfe..0000000000000000000000000000000000000000
Binary files a/cp/project2/unitgrade_data/TestBisect.pkl and /dev/null differ
diff --git a/cp/project2/unitgrade_data/TestIsThereARoot.pkl b/cp/project2/unitgrade_data/TestIsThereARoot.pkl
deleted file mode 100644
index 9f20ed3ba4f6ff926db1fc296ba6a6f46bf0cb94..0000000000000000000000000000000000000000
Binary files a/cp/project2/unitgrade_data/TestIsThereARoot.pkl and /dev/null differ
diff --git a/cp/project2/unitgrade_data/TestTheFunctionToBisect.pkl b/cp/project2/unitgrade_data/TestTheFunctionToBisect.pkl
deleted file mode 100644
index b1f1e35852dc4fc42cd29f7dd519f7300b449e6f..0000000000000000000000000000000000000000
Binary files a/cp/project2/unitgrade_data/TestTheFunctionToBisect.pkl and /dev/null differ
diff --git a/cp/project5/__init__.py b/cp/project5/__init__.py
deleted file mode 100644
index 890dc18eaf0fafeab3829fd71c6e5c41882a86cc..0000000000000000000000000000000000000000
--- a/cp/project5/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-"""Dummy (test) project from 02465."""
diff --git a/cp/project5/project5_grade.py b/cp/project5/project5_grade.py
deleted file mode 100644
index ac118ab790f1e7dd5c90818096f85403424a13d4..0000000000000000000000000000000000000000
--- a/cp/project5/project5_grade.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# cp/project5/project5_tests.py
-''' WARNING: Modifying, decompiling or otherwise tampering with this script, it's data or the resulting .token file will be investigated as a cheating attempt. '''
-import bz2, base64
-exec(bz2.decompress(base64.b64decode('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')))
\ No newline at end of file
diff --git a/cp/project5/project5_tests.py b/cp/project5/project5_tests.py
deleted file mode 100644
index 43beb4cb7e345d4285a0d4eb075e4f3e8844c588..0000000000000000000000000000000000000000
--- a/cp/project5/project5_tests.py
+++ /dev/null
@@ -1,245 +0,0 @@
-from unitgrade import UTestCase, Report, hide
-import math
-
-class TestSineCosineWeek9(UTestCase):
-    def test_make_symbol(self):
-        from cp.ex09.sinus import make_symbol, Variable
-        v = make_symbol('x')
-        self.assertIsInstance(v, Variable)
-
-
-
-    def test_sine(self):
-        from cp.ex09.sinus import make_symbol, sine, Sin
-        v = make_symbol('x')
-        s = sine(v)
-        self.assertIsInstance(s, Sin)
-        self.assertEqual(s.arg, v)
-
-
-
-    def test_cosine(self):
-        from cp.ex09.sinus import make_symbol, cosine, Cos
-        v = make_symbol('x')
-        c = cosine(v)
-        self.assertIsInstance(c, Cos)
-        self.assertEqual(c.arg, v)
-
-
-    def test_format_expression(self):
-        from cp.ex09.sinus import make_symbol, sine, cosine, format_expression
-        v = make_symbol('x')
-        s = sine(v)
-        c = cosine(v)
-        self.assertEqual(format_expression(v), 'x')
-        self.assertEqual(format_expression(s), 'sin(x)')
-        self.assertEqual(format_expression(c), 'cos(x)')
-
-        # Test nested expressions
-        s2 = sine(c)
-        c2 = cosine(s)
-        self.assertEqual(format_expression(s2), 'sin(cos(x))')
-        self.assertEqual(format_expression(c2), 'cos(sin(x))')
-
-
-class TestConstant(UTestCase):
-
-    def test_inheritance(self):
-        from cp.ex10.symbolic import Constant, Expression
-        c = Constant(7)
-        self.assertIsInstance(c, Expression)
-
-
-    def test_print(self):
-        from cp.ex10.symbolic import Constant
-        self.assertEqual(str(Constant(7)), "7")
-        self.assertEqual(str(Constant(0)), "0")
-        self.assertEqual(str(Constant(3.14)), "3.14")
-
-
-
-    def test_negative_print(self):
-        from cp.ex10.symbolic import Constant
-        self.assertEqual(str(Constant(-101)), "(-101)")
-
-
-    def test_evaluate(self):
-        from cp.ex10.symbolic import Constant
-        c = Constant(7)
-        self.assertEqual(c.evaluate({}), 7)
-        self.assertEqual(c.evaluate({"z": -10}), 7)
-
-
-
-    def test_derivative(self):
-        from cp.ex10.symbolic import Constant
-        c = Constant(7)
-        d = c.differentiate("x")
-        self.assertIsInstance(d, Constant)
-        self.assertEqual(d.evaluate({}), 0)
-
-
-class TestVariable(UTestCase):
-    def test_inheritance(self):
-        from cp.ex10.symbolic import Variable, Expression
-        self.assertIsInstance(Variable("x"), Expression)
-
-
-    def test_print(self):
-        from cp.ex10.symbolic import Variable
-        self.assertEqual(str(Variable("x")), "x")
-
-
-    def test_evaluate(self):
-        from cp.ex10.symbolic import Variable
-        c = Variable("x")
-        self.assertEqual(c.evaluate({"x": 7}), 7)
-
-
-    def test_derivative(self):
-        from cp.ex10.symbolic import Variable, Constant
-        c = Variable("x")
-        d = c.differentiate("x")
-        self.assertIsInstance(d, Constant)
-        self.assertEqual(str(d), "1")
-
-
-class TestAddition(UTestCase):
-    def test_inheritance(self):
-        from cp.ex10.symbolic import Addition, Constant, BinaryOperator
-        self.assertIsInstance(Addition(Constant(1), Constant(2)), BinaryOperator)
-
-
-    def test_print(self):
-        from cp.ex10.symbolic import Addition, Variable
-        self.assertEqual(str(Addition(Variable("x"), Variable("y"))), "(x + y)")
-
-
-    def test_evaluate(self):
-        from cp.ex10.symbolic import Addition, Constant, Variable
-        c = Addition(Variable("x"), Constant(3))
-        self.assertEqual(c.evaluate({"x": 7}), 10)
-
-
-
-    def test_derivative(self):
-        from cp.ex10.symbolic import Addition, Constant, Variable
-        c = Addition(Variable("x"), Constant(3))
-        d = c.differentiate("x")
-        self.assertEqual(str(d), "(1 + 0)")
-        self.assertEqual(d.evaluate({}), 1)
-
-
-    def test_derivative_nested(self):
-        from cp.ex10.symbolic import Addition, Constant, Variable
-        c = Addition(Variable("x"), Addition(Constant(3), Variable("x")))
-        d = c.differentiate("x")
-        self.assertEqual(str(d), "(1 + (0 + 1))")
-
-
-class TestMultiplication(UTestCase):
-    def test_print(self):
-        from cp.ex10.symbolic import Multiplication, Constant, Variable
-        self.assertEqual(str(Multiplication(Variable("x"), Constant(3))), "x * 3")
-
-
-
-    def test_evaluate(self):
-        from cp.ex10.symbolic import Multiplication, Constant, Variable
-        self.assertEqual(Multiplication(Variable("x"), Constant(3)).evaluate({"x": 2}), 6)
-
-
-    def test_derivative(self):
-        from cp.ex10.symbolic import Multiplication, Constant, Variable
-        c = Multiplication(Variable("x"), Constant(3))
-        d = c.differentiate("x")
-        self.assertEqual(str(d), "(1 * 3 + x * 0)")
-        self.assertEqual(d.evaluate({"x": 10}), 3)
-
-
-
-    def test_derivative_nested(self):
-        from cp.ex10.symbolic import Multiplication, Constant, Variable, Addition
-        c = Multiplication(Variable("x"), Addition(Constant(3), Variable("x")))
-        d = c.differentiate("x")
-        self.assertEqual(str(d), "(1 * (3 + x) + x * (0 + 1))")
-
-
-class TestTrigonometricBasic(UTestCase):
-    def test_sin_print(self):
-        from cp.ex10.symbolic import Variable, Sin
-        sin = Sin(Variable("x"))
-        self.assertEqual(str(sin), "sin(x)")
-
-
-    def test_cos_print(self):
-        from cp.ex10.symbolic import Constant, Cos
-        cos = Cos(Constant(3))
-        self.assertEqual(str(cos), "cos(3)")
-
-
-
-    def test_sin_evaluate(self):
-        from cp.ex10.symbolic import Variable, Sin
-        sin = Sin(Variable("x"))
-        self.assertAlmostEqual(sin.evaluate({"x": 2}), math.sin(2))
-
-
-    def test_cos_evaluate(self):
-        from cp.ex10.symbolic import Variable, Cos
-        self.assertAlmostEqual(Cos(Variable("x")).evaluate({"x": 2}), math.cos(2))
-
-
-
-class TestEverything(UTestCase):
-    def test_everything(self):
-        from cp.ex10.symbolic import Variable, Cos, Multiplication, Sin, Addition, Constant
-        x = Variable("x")
-        y = Addition( Multiplication(Constant(3), Sin(x)), Cos(x))
-        str(y)
-        self.assertEqual(str(y),  '(3 * sin(x) + cos(x))')
-        self.assertAlmostEqual(y.evaluate({"x": math.pi/2}), 3)
-        self.assertEqual(str(y.differentiate("x")), '((0 * sin(x) + 3 * cos(x) * 1) + (-1) * sin(x) * 1)')
-
-
-class TestTrigonometricDerivative(UTestCase):
-    def test_sin(self):
-        from cp.ex10.symbolic import Variable, Sin
-        x = Variable("x")
-        dx = Sin(x).differentiate("x")
-        self.assertEqual(str(dx), "cos(x) * 1")
-
-    def test_cos(self):
-        from cp.ex10.symbolic import Variable, Cos
-        x = Variable("x")
-        dx = Cos(x).differentiate("x")
-        self.assertEqual(str(dx), "(-1) * sin(x) * 1")
-
-    def test_sin_advanced(self):
-        from cp.ex10.symbolic import Variable, Cos, Constant, Multiplication, Addition
-        x = Variable("x")
-        dx = Multiplication(x, Cos(Addition(x, Constant(3)))).differentiate("x")
-        self.assertEqual(str(dx), "(1 * cos((x + 3)) + x * (-1) * sin((x + 3)) * (1 + 0))")
-
-
-class Project5(Report):
-    title = "Project 5"
-    remote_url = "https://cp.pages.compute.dtu.dk/02002public/_static/evaluation/"
-
-    abbreviate_questions = True
-    questions = [(TestSineCosineWeek9, 20),
-                 (TestConstant, 10),
-                 (TestVariable, 10),
-                 (TestAddition, 10),
-                 (TestMultiplication, 10),
-                 (TestTrigonometricBasic, 10),
-                 (TestTrigonometricDerivative, 10),
-                 (TestEverything, 10),
-                 ]
-    import cp
-    pack_imports = [cp]
-
-
-if __name__ == "__main__":
-    from unitgrade import evaluate_report_student
-    evaluate_report_student(Project5())
diff --git a/cp/project5/unitgrade_data/TestAddition.pkl b/cp/project5/unitgrade_data/TestAddition.pkl
deleted file mode 100644
index 9e3707656aaa2a6f9b0996675d8504b82f4a6a67..0000000000000000000000000000000000000000
Binary files a/cp/project5/unitgrade_data/TestAddition.pkl and /dev/null differ
diff --git a/cp/project5/unitgrade_data/TestConstant.pkl b/cp/project5/unitgrade_data/TestConstant.pkl
deleted file mode 100644
index cb53f02daa6dd6c3c24ba1ce8158b2c7f7026718..0000000000000000000000000000000000000000
Binary files a/cp/project5/unitgrade_data/TestConstant.pkl and /dev/null differ
diff --git a/cp/project5/unitgrade_data/TestEverything.pkl b/cp/project5/unitgrade_data/TestEverything.pkl
deleted file mode 100644
index 976c4f8418678bf19c9e80807fb14f9af191ef52..0000000000000000000000000000000000000000
Binary files a/cp/project5/unitgrade_data/TestEverything.pkl and /dev/null differ
diff --git a/cp/project5/unitgrade_data/TestMultiplication.pkl b/cp/project5/unitgrade_data/TestMultiplication.pkl
deleted file mode 100644
index 8577c45c28c87f9ecbdc9d8ed2898ecc811abf82..0000000000000000000000000000000000000000
Binary files a/cp/project5/unitgrade_data/TestMultiplication.pkl and /dev/null differ
diff --git a/cp/project5/unitgrade_data/TestSineCosineWeek9.pkl b/cp/project5/unitgrade_data/TestSineCosineWeek9.pkl
deleted file mode 100644
index a68d237a7c251442ee8da9569f9a482c12be9731..0000000000000000000000000000000000000000
Binary files a/cp/project5/unitgrade_data/TestSineCosineWeek9.pkl and /dev/null differ
diff --git a/cp/project5/unitgrade_data/TestTrigonometricBasic.pkl b/cp/project5/unitgrade_data/TestTrigonometricBasic.pkl
deleted file mode 100644
index 3eaa4dc30292e48070c2f24842e8f3998d950ddc..0000000000000000000000000000000000000000
Binary files a/cp/project5/unitgrade_data/TestTrigonometricBasic.pkl and /dev/null differ
diff --git a/cp/project5/unitgrade_data/TestTrigonometricDerivative.pkl b/cp/project5/unitgrade_data/TestTrigonometricDerivative.pkl
deleted file mode 100644
index 1265b9755a440d3bbf69f1b534bbaf0a336e54d7..0000000000000000000000000000000000000000
Binary files a/cp/project5/unitgrade_data/TestTrigonometricDerivative.pkl and /dev/null differ
diff --git a/cp/project5/unitgrade_data/TestVariable.pkl b/cp/project5/unitgrade_data/TestVariable.pkl
deleted file mode 100644
index 8a0361f3d755740626a98225c4dddc28e80c1d31..0000000000000000000000000000000000000000
Binary files a/cp/project5/unitgrade_data/TestVariable.pkl and /dev/null differ
diff --git a/cp/tests/tests_week01.py b/cp/tests/tests_week01.py
deleted file mode 100644
index cd7223101a1fe28bb7c5c5d34df7faa114e7b86b..0000000000000000000000000000000000000000
--- a/cp/tests/tests_week01.py
+++ /dev/null
@@ -1,64 +0,0 @@
-from unitgrade import Report
-import cp
-from unitgrade import UTestCase
-from cp.ex02.taylor import evaluate_taylor
-
-class Taylor(UTestCase):
-    def test_taylor_x1(self):
-        self.assertL2(evaluate_taylor(1))
-
-    def test_taylor_x3(self):
-        self.assertL2(evaluate_taylor(3))
-
-class TaylorVariants(UTestCase):
-
-    def test_taylor_variant_1(self):
-        from inspect import getmembers, isfunction
-        from cp.ex02 import taylor_variant1
-        mm = getmembers(taylor_variant1, isfunction)
-        if len(mm) == 0:
-            raise Exception("You did not define a function in your code")
-
-        name, taylor = mm[0]
-
-        print("Running:")
-        print(f"{name}(x)")
-        self.assertL2(taylor(1.4))
-
-    def test_taylor_variant_2(self):
-        import inspect
-        from cp.ex02 import taylor_variant2
-
-        if hasattr(taylor_variant2, 'y'):
-            self.assertL2(taylor_variant2.y, 0.41666, tol=1e-4)
-
-        source = inspect.getsource(taylor_variant2)
-        lines = source.splitlines()
-        for k, l in enumerate(lines):
-            if l.strip().replace(" ", "").startswith("x="):
-                lines[k] = "x = 9"
-        # y  = None
-        s = "\n".join(lines)
-        # global y
-        # locals_ = locals()
-        ldict = {}
-        exec(s, globals(), ldict)
-        # print(y)
-        if 'y' not in ldict:
-            raise Exception("You failed to define y in your test")
-        else:
-            y = ldict['y']
-            self.assertL2(y)
-
-class Week01Tests(Report): #240 total.
-    title = "Tests for week 01"
-    pack_imports = [cp]
-    individual_imports = []
-    questions = [
-        (Taylor, 10),
-        (TaylorVariants, 10),
-                 ]
-
-if __name__ == '__main__':
-    from unitgrade import evaluate_report_student
-    evaluate_report_student(Week01Tests())
diff --git a/cp/tests/tests_week02.py b/cp/tests/tests_week02.py
deleted file mode 100644
index 4891fe8a40714fb43b45af19b96283104296c353..0000000000000000000000000000000000000000
--- a/cp/tests/tests_week02.py
+++ /dev/null
@@ -1,43 +0,0 @@
-from unitgrade import Report
-import cp
-from unitgrade import UTestCase
-from cp.ex02.taylor import evaluate_taylor
-from cp.ex02.fibonacci import fibonacci_number
-
-
-class Fibonacci(UTestCase):
-    def test_fibonacci_x0(self):
-        self.assertEqual(fibonacci_number(0), 0, msg="The start of the sequence is wrong -- remember that x_0 = 0!")
-
-    def test_fibonacci_x1(self):
-        self.assertEqual(fibonacci_number(0), 0, msg="The start of the sequence is wrong -- remember that x_1 = 1!")
-
-    def test_fibonacci_x2(self):
-        self.assertEqual(fibonacci_number(6), 8, msg="The first recursive step is not quite right -- remember that x_2 = x_1 + x_0")
-
-    def test_fibonacci_x6(self):
-        self.assertEqual(fibonacci_number(6), 8, msg="There is a problem in your recursion. You did not compute x_6 correctly.")
-
-    def test_fibonacci_x23(self):
-        # Test a large value. I cache the result so I don't have to enter it manually.
-        self.assertEqualC(fibonacci_number(23), 28657)
-
-    def test_fibonacci_x_many(self):
-        # Caching works for arbitrary calls. This test all the values up to 20.
-        for k in range(20):
-            self.assertEqualC(fibonacci_number(k))
-
-
-
-
-class Week02Tests(Report): #240 total.
-    title = "Tests for week 02"
-    pack_imports = [cp]
-    individual_imports = []
-    questions = [
-                (Fibonacci, 10),
-                ]
-
-if __name__ == '__main__':
-    from unitgrade import evaluate_report_student
-    evaluate_report_student(Week02Tests())
diff --git a/cp/tests/tests_week03.py b/cp/tests/tests_week03.py
deleted file mode 100644
index 692daba5e3ad9f4a17b649c4444264f64c390b91..0000000000000000000000000000000000000000
--- a/cp/tests/tests_week03.py
+++ /dev/null
@@ -1,181 +0,0 @@
-from unitgrade import UTestCase, Report
-import unittest.mock
-import io
-import cp
-
-class Week03CompareNumbers(UTestCase):
-    def test_compare_numbers(self):
-        with self.capture() as c:
-            from cp.ex03.compare_numbers import compare_numbers
-        result = compare_numbers(5.,3.)
-        self.assertEqual(result, 'the first number is greater')
-        result = compare_numbers(2.,7.)
-        self.assertEqual(result, 'the second number is greater')
-        result = compare_numbers(4.,4.)
-        self.assertEqual(result, 'the numbers are equal')
-
-class Week03BodyTemperature(UTestCase):
-    def test_body_Temperature(self):
-        with self.capture() as c:
-            from cp.ex03.body_temperature import body_temperature
-        result = body_temperature(34.5)
-        self.assertEqual(result, 'Hypothermia')
-        result = body_temperature(36.9)
-        self.assertEqual(result, 'Normal')
-        result = body_temperature(37.2)
-        self.assertEqual(result, 'Slight fever')
-        result = body_temperature(38.5)
-        self.assertEqual(result, 'Fever')
-        result = body_temperature(40.1)
-        self.assertEqual(result, 'Hyperthermia')
-
-
-class Week03HeartAttack(UTestCase):
-    def test_heart_attack(self):
-        with self.capture() as c:
-            from cp.ex03.heart_attack import heart_attack
-        result = heart_attack(30, 45, False)
-        self.assertEqual(result, "low")
-        result = heart_attack(60, 70, True)
-        self.assertEqual(result, "high")
-        result = heart_attack(17, 40, True)
-        self.assertEqual(result, "low")
-
-class Week03Ackermann(UTestCase):
-    def test_ackermann(self):
-        with self.capture() as c:
-            from cp.ex03.ackermann import ackermann
-        result = ackermann(3, 4)
-        self.assertEqual(result, 125)
-        result = ackermann(2, 5)
-        self.assertEqual(result, 13)
-
-class Week03Exponential(UTestCase):
-    def test_exponential(self):
-        with self.capture() as c:
-            from cp.ex03.exponential import exponential
-        result = exponential(3, 4)
-        self.assertEqual(result, 3**4)
-        result = exponential(2, 5)
-        self.assertEqual(result, 2**5)
-        result = exponential(4, -2)
-        self.assertEqual(result, 4**-2)
-
-class Week03BACCalculator(UTestCase):
-    def test_BAC_calculator(self):
-        with self.capture() as c:
-            from cp.ex03.bac_calculator import bac_calculator
-        result = bac_calculator(0.028, 80., "male", 2.)
-        self.assertEqual(result,0.02147058823529411)
-        result = bac_calculator(0.021, 70., "female", 2.)
-        self.assertEqual(result,0.020545454545454547)
-
-class AckermannTestCase(UTestCase):
-    def test_ackermann(self):
-        from cp.ex03.ackermann import ackermann
-        self.assertEqual(ackermann(0, 0), 1)
-        self.assertEqual(ackermann(0, 1), 2)
-        self.assertEqual(ackermann(1, 0), 2)
-        self.assertEqual(ackermann(1, 1), 3)
-        self.assertEqual(ackermann(1, 2), 4)
-        self.assertEqual(ackermann(2, 0), 3)
-        self.assertEqual(ackermann(2, 1), 5)
-        self.assertEqual(ackermann(2, 2), 7)
-        self.assertEqual(ackermann(3, 0), 5)
-        self.assertEqual(ackermann(3, 1), 13)
-        self.assertEqual(ackermann(3, 2), 29)
-
-class ExponentialTestCase(UTestCase):
-    def test_exponential_with_positive_power(self):
-        from cp.ex03.exponential import exponential
-        self.assertEqual(exponential(2, 0), 1.0)
-        self.assertEqual(exponential(2, 1), 2.0)
-        self.assertEqual(exponential(2, 2), 4.0)
-        self.assertEqual(exponential(3, 3), 27.0)
-        self.assertEqual(exponential(5, 4), 625.0)
-
-    def test_exponential_with_negative_power(self):
-        from cp.ex03.exponential import exponential
-        self.assertEqual(exponential(2, -1), 0.5)
-        self.assertEqual(exponential(2, -2), 0.25)
-        self.assertAlmostEqual(exponential(3, -3), 0.037037037037)
-        self.assertAlmostEqual(exponential(5, -4), 5**(-4) )
-
-    def test_exponential_with_zero_power(self):
-        from cp.ex03.exponential import exponential
-        self.assertEqual(exponential(2, 0), 1.0)
-        self.assertEqual(exponential(3, 0), 1.0)
-        self.assertEqual(exponential(5, 0), 1.0)
-
-
-class HeartAttackTests(UTestCase):
-
-    def test_heart_attack_low(self):
-        from cp.ex03.heart_attack import heart_attack
-        self.assertEqual(heart_attack(25, 55, False), "low")
-        self.assertEqual(heart_attack(16, 45, False), "low")
-        self.assertEqual(heart_attack(30, 58, False), "low")
-
-    def test_heart_attack_high(self):
-        from cp.ex03.heart_attack import heart_attack
-        self.assertEqual(heart_attack(45, 70, True), "high")
-        self.assertEqual(heart_attack(11, 70, True), "high")
-
-class SolarPanelTests(UTestCase):
-    @unittest.mock.patch('sys.stdout', new_callable=io.StringIO)
-    def test_maybe(self, mock_stdout):
-        from cp.ex03.solar_panel import solar_panel
-        solar_panel(True, False, False, False)
-        out = mock_stdout.getvalue()
-        self.assertEqual(out.strip().lower(), "maybe")
-
-    @unittest.mock.patch('sys.stdout', new_callable=io.StringIO)
-    def test_good_luck(self, mock_stdout):
-        from cp.ex03.solar_panel import solar_panel
-        solar_panel(True, False, True, True)
-        out = mock_stdout.getvalue()
-        self.assertEqual(out.strip().lower().splitlines(), ["haha", "good luck"])
-
-
-    @unittest.mock.patch('sys.stdout', new_callable=io.StringIO)
-    def test_probably_not1(self, mock_stdout):
-        from cp.ex03.solar_panel import solar_panel
-        solar_panel(True, True, False, False)
-        out = mock_stdout.getvalue()
-        self.assertEqual(out.strip().lower(), "probably not")
-
-    @unittest.mock.patch('sys.stdout', new_callable=io.StringIO)
-    def test_probably_not2(self, mock_stdout):
-        from cp.ex03.solar_panel import solar_panel
-        solar_panel(False, False, True, True)
-        out = mock_stdout.getvalue()
-        self.assertEqual(out.strip().lower(), "probably not")
-
-
-    @unittest.mock.patch('sys.stdout', new_callable=io.StringIO)
-    def test_sure(self, mock_stdout):
-        from cp.ex03.solar_panel import solar_panel
-        solar_panel(False, False, False, False)
-        out = mock_stdout.getvalue()
-        self.assertEqual(out.strip().lower(), "sure")
-
-
-class Week03Tests(Report):
-    title = "Tests for week 03"
-    version = 1.0
-    url = "https://gitlab.compute.dtu.dk/cp/02002students/-/blob/master/cp/tests"
-    pack_imports = [cp]
-    individual_imports = []
-    questions = [
-                (Week03CompareNumbers, 10),
-                (Week03BodyTemperature, 10),
-                (Week03BACCalculator, 10),
-                (AckermannTestCase, 10),
-                (ExponentialTestCase, 10),
-                (HeartAttackTests, 10),
-                (SolarPanelTests, 10),
-                ]
-
-if __name__ == '__main__':
-    from unitgrade import evaluate_report_student
-    evaluate_report_student(Week03Tests())
diff --git a/cp/tests/tests_week04.py b/cp/tests/tests_week04.py
deleted file mode 100644
index 9d5828195c63b93a6d515250e94938a02536aac9..0000000000000000000000000000000000000000
--- a/cp/tests/tests_week04.py
+++ /dev/null
@@ -1,135 +0,0 @@
-from unitgrade import UTestCase, Report
-import unittest
-from unittest.mock import patch
-import cp
-import io
-
-class Palindrome(UTestCase):
-    def test_is_palindrome(self):
-        from cp.ex04.palindrome import is_palindrome
-        self.assertTrue(is_palindrome('madam'))
-        self.assertTrue(is_palindrome('kk'))
-        self.assertTrue(is_palindrome('m'))
-        self.assertFalse(is_palindrome('gentleman'))
-        self.assertFalse(is_palindrome('ma'))
-
-
-class Bug(UTestCase):
-    @unittest.mock.patch('sys.stdout', new_callable=io.StringIO)
-    def test_nice_sign(self, mock_stdout):
-        from cp.ex04.bug import nice_sign
-        nice_sign('hello')
-        out = mock_stdout.getvalue()
-
-        self.assertEqual(len(out.splitlines()), 3, msg="You did not print out 3 seperate lines")
-        l1 = out.splitlines()[0]
-        l2 = out.splitlines()[1]
-        l3 = out.splitlines()[2]
-
-        self.assertEqual(l1, "---------")
-        self.assertEqual(l2, "| hello |")
-        self.assertEqual(l3, "---------")
-
-    @unittest.mock.patch('sys.stdout', new_callable=io.StringIO)
-    def test_last_bug(self,mock_stdout):
-        from cp.ex04.bug import last_bug
-        last_bug()
-        out = mock_stdout.getvalue()
-
-        self.assertEqual(len( out.splitlines()), 3, msg="You did not print out 3 seperate lines")
-        l1 = out.splitlines()[0]
-        l2 = out.splitlines()[1]
-        l3 = out.splitlines()[2]
-
-        self.assertEqual(l1, "------------------------------")
-        self.assertEqual(l2, "| I have written my last bug |")
-        self.assertEqual(l3, "------------------------------")
-
-
-class Math(UTestCase):
-    def test_square_root(self):
-        from cp.ex04.mathematics import square_root
-        self.assertAlmostEqual(square_root(9), 3, places=3)
-        self.assertAlmostEqual(square_root(25), 5, places=3)
-
-    def test_pi(self):
-        from cp.ex04.mathematics import ramanujan
-        self.assertAlmostEqual(ramanujan(), 3.1416, places=3)
-
-
-class Parenthesis(UTestCase):
-    def test_matching(self):
-        from cp.ex04.parenthesis import matching
-        self.assertTrue(matching('3x(y+x)'))
-        self.assertTrue(matching('3x'))
-        self.assertTrue(matching('3x(y+(x-1))'))
-        self.assertTrue(matching('3(x-8)^2(y+(x-1))'))
-        self.assertFalse(matching('3x(y+x))'))
-        self.assertFalse(matching('(3x(y+x)'))
-
-    def test_innermost(self):
-        from cp.ex04.parenthesis import find_innermost_part
-        self.assertEqual(find_innermost_part('(3+x)'), '3+x')
-        self.assertEqual(find_innermost_part('3+x'), '3+x')
-        self.assertEqual(find_innermost_part('3x((y+2)y+x)'), 'y+2')
-        self.assertEqual(find_innermost_part('3x((y+(1 - q^2)y+x)'), '1 - q^2')
-
-
-    def test_find_index_of_equality(self):
-        from cp.ex04.parenthesis import find_index_of_equality
-        self.assertEqual(find_index_of_equality("()"), 1)
-        self.assertEqual(find_index_of_equality("(()())"), 3)
-        self.assertEqual(find_index_of_equality("())"), 2)
-        self.assertEqual(find_index_of_equality("())((((("), 2)
-        # self.assertEqual(find_index_of_equality(""), 0)
-        self.assertEqual(find_index_of_equality(")(()())("), 4)
-
-
-class Dialogue(UTestCase):
-    @unittest.mock.patch('sys.stdout', new_callable=io.StringIO)
-    def test_print_the_dialogue(self, mock_stdout):
-        from cp.ex04.parenthesis import print_the_dialogue
-        print_the_dialogue("He said: ''How are you doing?''")
-        out = mock_stdout.getvalue()
-        self.assertEqual(out.strip(), "How are you doing?")
-
-    @unittest.mock.patch('sys.stdout', new_callable=io.StringIO)
-    def test_print_the_dialogue_twolines(self, mock_stdout):
-        from cp.ex04.parenthesis import print_the_dialogue
-        print_the_dialogue("He: ''How are you doing?'' She: ''Still stuck on my 02002 programming problems''.")
-        out = mock_stdout.getvalue()
-        self.assertEqual(out.strip(), "How are you doing?\nStill stuck on my 02002 programming problems")
-
-
-class Prefix(UTestCase):
-    def test_common_prefix(self):
-        from cp.ex04.prefix import common_prefix
-        self.assertEqual( common_prefix("cat", "cawabunga"), "ca")
-        self.assertEqual(common_prefix("caterpillar", "catapult"), "cat")
-        self.assertEqual(common_prefix("cat", "dog"), "")
-
-    def test_common_prefix3(self):
-        from cp.ex04.prefix import common_prefix3
-        self.assertEqual(common_prefix3("cat", "cawabunga", "catapult"), "ca")
-        self.assertEqual(common_prefix3("cawabunga", "cow", "catapult"), "c")
-        self.assertEqual(common_prefix3("selenium", "sealant", "sensei"), "se")
-        self.assertEqual(common_prefix3("selenium", "apple", "sensei"), "")
-
-
-class Week04Tests(Report):
-    title = "Tests for week 04"
-    version = 1.0
-    url = "https://gitlab.compute.dtu.dk/cp/02002students/-/blob/master/cp/tests"
-    pack_imports = [cp]
-    questions = [
-                (Math, 10),
-                (Palindrome, 10),
-                (Bug, 10),
-                (Parenthesis, 10),
-                (Dialogue, 10),
-                (Prefix, 10),
-                 ]
-
-if __name__ == '__main__':
-    from unitgrade import evaluate_report_student
-    evaluate_report_student(Week04Tests())
diff --git a/cp/tests/tests_week05.py b/cp/tests/tests_week05.py
deleted file mode 100644
index ffdd72d54a8da166d7d8ef7d355f746fea130886..0000000000000000000000000000000000000000
--- a/cp/tests/tests_week05.py
+++ /dev/null
@@ -1,134 +0,0 @@
-from unitgrade import Report
-import cp
-from unitgrade import UTestCase
-
-class Week05Primes(UTestCase):
-    def test_prime(self):
-        # Run and capture output
-        # from cp.unitgrade import say_hello
-        import numpy as np
-
-        with self.capture() as c:
-            from cp.ex05 import primes
-
-        prime_list = np.array([257,181,2503,4871,43,353,2753,3229,2621,3137,3121,877,293,47,997,3023,7,127,13,463,719,4273,307,3617,1597,2377,1433,3061,991,2437,4813,1609,2339,3343,3001,853,4493,1223])
-        non_prime_list = prime_list*2
-
-        check = np.all([primes.is_prime(prime) for prime in prime_list])
-        self.assertTrue(check)
-        check = np.all([not primes.is_prime(non_prime) for non_prime in non_prime_list])
-        self.assertTrue(check)
-
-        prime_list = primes.create_prime_list(2,101)
-        self.assertTrue(isinstance(prime_list,list))
-        self.assertListEqual(prime_list,[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101])
-
-
-
-class Week05Indexing(UTestCase):
-    def __init__(self, *args, skip_remote_check=False, **kwargs):
-        super().__init__(*args, skip_remote_check=skip_remote_check, **kwargs)
-        self.lst_1 = [88, 26, 71, 56, 34, 93, 4, 53, 87, 97, 23, 18, 54, 48, 78, 40, 70, 89, 4, 59, 29, 82, 72, 64, 49, 33, 30, 50, 50, 50, 21]
-        self.lst_2 = [27, 87, 55, 25, 53, 90, 80, 68, 72, 79, 41, 72, 37, 91, 95, 48, 57, 78, 16, 80, 1, 96, 40, 80, 98, 73, 2, 45, 28, 75, 76]
-
-        self.nested_lst_1 = [[88], [26], [71, 56, 34], [93, 4, 53, 87, 97], [23], [18, 54], [48, 78, 40, 70], [89, 4, 59, 29, 82, 72, 64, 49, 33, 30, 50, 50], [50], [21]]
-        self.nested_lst_2 = [[27, 87], [55, 25, 53, 90, 80, 68, 72, 79], [41], [72, 37, 91, 95, 48, 57, 78, 16, 80, 1, 96], [40, 80, 98], [73, 2], [45, 28, 75, 76]]
-
-    def test_add_first_and_last(self):
-        # Run and capture output
-        # from cp.unitgrade import say_hello
-
-        with self.capture() as c:
-            from cp.ex05 import indexing
-
-        
-        answer = indexing.add_first_and_last(self.lst_1)
-        self.assertEqual(answer,88+21)
-        
-        answer = indexing.add_first_and_last(self.lst_2)
-        self.assertEqual(answer,27+76)
-
-    def test_middle_element(self):
-        # Run and capture output
-        # from cp.unitgrade import say_hello
-        import numpy as np
-
-        with self.capture() as c:
-            from cp.ex05 import indexing
-
-        mid_el = indexing.middle_element(self.lst_1)
-        self.assertEqual(mid_el,40)
-        mid_el = indexing.middle_element(self.lst_2)
-        self.assertEqual(mid_el,48)
-    
-
-    def test_slice_list_in_percent(self):
-        # Run and capture output
-        # from cp.unitgrade import say_hello
-        import numpy as np
-
-        with self.capture() as c:
-            from cp.ex05 import indexing
-
-        sub_list = indexing.slice_list_in_percent(self.lst_1,0.1,0.9)
-        self.assertListEqual(sub_list,[56, 34, 93, 4, 53, 87, 97, 23, 18, 54, 48, 78, 40, 70, 89, 4, 59, 29, 82, 72, 64, 49, 33, 30])
-        sub_list = indexing.slice_list_in_percent(self.lst_2,0.45,0.55)
-        self.assertListEqual(sub_list,[91, 95, 48, 57])
-
-
-    def test_get_longest_sublist(self):
-        # Run and capture output
-        # from cp.unitgrade import say_hello
-        import numpy as np
-
-        with self.capture() as c:
-            from cp.ex05 import indexing
-
-        sub_list = indexing.get_longest_sublist(self.nested_lst_1)
-        self.assertListEqual(sub_list,[89, 4, 59, 29, 82, 72, 64, 49, 33, 30, 50, 50])
-        sub_list = indexing.get_longest_sublist(self.nested_lst_2)
-        self.assertListEqual(sub_list,[72, 37, 91, 95, 48, 57, 78, 16, 80, 1, 96])
-
-
-class Week05UpdatingLists(UTestCase):
-    def test_remove_at(self):
-        # Run and capture output
-        # from cp.unitgrade import say_hello
-
-        with self.capture() as c:
-            from cp.ex05 import updating_lists
-    
-        in_list = ["one","two","three","four","five","six","seven","eight"]
-        out_list = updating_lists.remove_at(in_list,5)
-        self.assertListEqual(out_list,["one","two","three","four","five","seven","eight"])
-        out_list = updating_lists.remove_at(out_list,0)
-        self.assertListEqual(out_list,["two","three","four","five","seven","eight"])
-
-    def remove_value(self):
-        # Run and capture output
-        # from cp.unitgrade import say_hello
-
-        with self.capture() as c:
-            from cp.ex05 import updating_lists
-
-        in_list = ["one","two","three","four","five","six","seven","eight"]
-        out_list = updating_lists.remove_value(in_list,5)
-        self.assertListEqual(out_list,in_list)
-        out_list = updating_lists.remove_value(in_list,"three")
-        self.assertListEqual(out_list,["one","two","four","five","six","seven","eight"])
-
-class Week05Tests(Report): 
-    title = "Tests for week 05"
-    version = 0.1
-    url = "https://gitlab.compute.dtu.dk/cp/02002students/-/blob/master/cp/tests"
-    pack_imports = [cp]
-    individual_imports = []
-    questions = [
-                (Week05Primes, 10),
-                (Week05Indexing, 10),
-                (Week05UpdatingLists, 10),
-                ]
-
-if __name__ == '__main__':
-    from unitgrade import evaluate_report_student
-    evaluate_report_student(Week05Tests())
diff --git a/cp/tests/tests_week06.py b/cp/tests/tests_week06.py
deleted file mode 100644
index 352acb59ba838fac324b9bcd7433ded30da1b97f..0000000000000000000000000000000000000000
--- a/cp/tests/tests_week06.py
+++ /dev/null
@@ -1,27 +0,0 @@
-from unitgrade import Report
-import cp
-from unitgrade import UTestCase
-from cp.ex02.taylor import evaluate_taylor
-
-
-class HelloWorld2(UTestCase):
-    def test_say_hello(self):
-        from cp.ex00 import say_hello
-        evaluate_taylor(1)
-        self.assertEqual(0, 0)
-
-
-
-class Week06Tests(Report): #240 total.
-    title = "Tests for week 06"
-    version = 0.1
-    url = "https://gitlab.compute.dtu.dk/cp/02002students/-/blob/master/cp/tests"
-    pack_imports = [cp]
-    individual_imports = []
-    questions = [
-                (HelloWorld2, 10),
-                ]
-
-if __name__ == '__main__':
-    from unitgrade import evaluate_report_student
-    evaluate_report_student(Week06Tests())
diff --git a/cp/tests/tests_week07.py b/cp/tests/tests_week07.py
deleted file mode 100644
index 98c0223144298438fa85e4825e76c54cb797f4a5..0000000000000000000000000000000000000000
--- a/cp/tests/tests_week07.py
+++ /dev/null
@@ -1,26 +0,0 @@
-from unitgrade import Report
-import cp
-from unitgrade import UTestCase
-from cp.ex02.taylor import evaluate_taylor
-
-class HelloWorld2(UTestCase):
-    def test_say_hello(self):
-        from cp.ex00 import say_hello
-        evaluate_taylor(1)
-        self.assertEqual(0,0)
-
-
-
-class Week07Tests(Report): #240 total.
-    title = "Tests for week 07"
-    version = 0.1
-    url = "https://gitlab.compute.dtu.dk/cp/02002students/-/blob/master/cp/tests"
-    pack_imports = [cp]
-    individual_imports = []
-    questions = [
-                (HelloWorld2, 10),
-                ]
-
-if __name__ == '__main__':
-    from unitgrade import evaluate_report_student
-    evaluate_report_student(Week07Tests())
diff --git a/cp/tests/tests_week08.py b/cp/tests/tests_week08.py
deleted file mode 100644
index 74f09515f49166d4e304e2b2f3cdfd2490799428..0000000000000000000000000000000000000000
--- a/cp/tests/tests_week08.py
+++ /dev/null
@@ -1,25 +0,0 @@
-from unitgrade import Report
-import cp
-from unitgrade import UTestCase
-from cp.ex02.taylor import evaluate_taylor
-from cp.ex02.fibonacci import fibonacci_number
-
-class HelloWorld2(UTestCase):
-    def test_say_hello(self):
-        from cp.ex00 import say_hello
-        evaluate_taylor(1)
-        self.assertEqual(0,0)
-
-
-class Week08Tests(Report):
-    title = "Tests for week 08"
-    version = 0.1
-    url = "https://gitlab.compute.dtu.dk/cp/02002students/-/blob/master/cp/tests"
-    pack_imports = [cp]
-    individual_imports = []
-    questions = [(HelloWorld2, 10),
-                ]
-
-if __name__ == '__main__':
-    from unitgrade import evaluate_report_student
-    evaluate_report_student(Week08Tests())
diff --git a/cp/tests/tests_week09.py b/cp/tests/tests_week09.py
deleted file mode 100644
index 5155e70f0a0146bd6c92363845931fac8cb23d02..0000000000000000000000000000000000000000
--- a/cp/tests/tests_week09.py
+++ /dev/null
@@ -1,278 +0,0 @@
-from unitgrade import Report, UTestCase
-import unittest
-from unittest.mock import patch
-import cp
-import io
-
-class TestRectangleArea(UTestCase):
-    def test_area(self):
-        from cp.ex09.rectangle import area, Rectangle
-        r = Rectangle()
-        r.width = 10
-        r.height = 4
-        self.assertEqual(area(r), 40)
-
-class TestMakeARectangle(UTestCase):
-    def test_make_a_rectangle(self):
-
-        from cp.ex09.rectangle import make_a_rectangle, Rectangle, Point
-
-        rectangle = make_a_rectangle(0, 0, 4, 5)
-        self.assertIsInstance(rectangle, Rectangle)
-
-        rectangle = make_a_rectangle(9, 2, 3, 7)
-        self.assertIsInstance(rectangle, Rectangle)
-        self.assertIsInstance(rectangle.corner, Point)
-        self.assertEqual(rectangle.corner.x, 9)
-        self.assertEqual(rectangle.corner.y, 2)
-        self.assertEqual(rectangle.width, 3)
-        self.assertEqual(rectangle.height, 7)
-
-    def test_rectangle(self):
-
-        from cp.ex09.rectangle import make_a_rectangle, Rectangle, Point, area
-        rectangle = make_a_rectangle(5, 3, 1, 1)
-        self.assertEqual(area(rectangle), 1)
-        rectangle = make_a_rectangle(0, 0, 20, 10)
-        self.assertEqual(area(rectangle), 200)
-
-
-class TestSplitRectangle(UTestCase):
-    def setUp(self):
-        from cp.ex09.rectangle import make_a_rectangle
-        self.rectangle = make_a_rectangle(0, 0, 4, 6)
-
-    def test_split_horizontally(self):
-        from cp.ex09.rectangle import split_rectangle
-        split = split_rectangle(self.rectangle, True)
-        self.assertEqual(len(split), 2)
-
-        left_rectangle = split[0]
-        right_rectangle = split[1]
-
-        self.assertEqual(left_rectangle.width, 2)
-        self.assertEqual(left_rectangle.height, 6)
-
-        self.assertEqual(right_rectangle.width, 2)
-        self.assertEqual(right_rectangle.height, 6)
-
-    def test_split_vertically(self):
-        from cp.ex09.rectangle import split_rectangle
-        split = split_rectangle(self.rectangle, False)
-        self.assertEqual(len(split), 2)
-
-        top_rectangle = split[0]
-        bottom_rectangle = split[1]
-
-        self.assertEqual(top_rectangle.width, 4)
-        self.assertEqual(top_rectangle.height, 3)
-
-        self.assertEqual(bottom_rectangle.width, 4)
-        self.assertEqual(bottom_rectangle.height, 3)
-
-
-class TestRectangleInception(UTestCase):
-    def test_inception_areas(self):
-        from cp.ex09.rectangle import make_a_rectangle, rectangle_inception, area
-
-        r = make_a_rectangle(2, 4, 12, 16)
-        rs = rectangle_inception(r, 4)
-        areas = [area(r_) for r_ in rs]
-        self.assertEqual(len(areas), 5)
-        self.assertEqual(areas,  [96.0, 48.0, 24.0, 12.0, 12.0])
-
-    def test_inception_location(self):
-        from cp.ex09.rectangle import make_a_rectangle, Rectangle, rectangle_inception
-        rs = rectangle_inception(make_a_rectangle(2, 4, 12, 16), 4)
-        r = rs[-1]
-        self.assertIsInstance(r, Rectangle)
-        self.assertEqual(r.corner.x, 11)
-        self.assertEqual(r.corner.y, 16)
-        self.assertEqual(r.width, 3)
-        self.assertEqual(r.height, 4)
-
-class TestMakeVector(UTestCase):
-    def test_make_vector(self):
-        from cp.ex09.vector import Vector, make_vector
-
-        v1 = make_vector(2,3)
-        self.assertIsInstance(v1, Vector, msg="Must return a Vector instance.")
-        self.assertEqual(v1.x, 2)
-        self.assertEqual(v1.y, 3)
-
-    @unittest.mock.patch('sys.stdout', new_callable=io.StringIO)
-    def test_print_vector(self, mock_stdout):
-        from cp.ex09.vector import make_vector, print_vector
-
-        v1 = make_vector(2, 3)
-        print_vector(v1)
-        out = mock_stdout.getvalue().strip()
-        self.assertEqual(out, "(2, 3)")
-
-class TestVectorOperations(UTestCase):
-    def test_dot_product(self):
-        from cp.ex09.vector import make_vector, dot
-        v1 = make_vector(2,3)
-        v2 = make_vector(4,5)
-        self.assertEqual(dot(v1, v2), 23)
-
-    def test_scale(self):
-        from cp.ex09.vector import make_vector, scale
-        v = make_vector(2,3)
-        s = 2
-        v_scaled = scale(s, v)
-        self.assertEqual(v_scaled.x, 4)
-        self.assertEqual(v_scaled.y, 6)
-
-    def test_add(self):
-        from cp.ex09.vector import make_vector, add
-        v1 = make_vector(2,3)
-        v2 = make_vector(4,5)
-        v_sum = add(v1, v2)
-        self.assertEqual(v_sum.x, 6)
-        self.assertEqual(v_sum.y, 8)
-
-    def test_subtract(self):
-        from cp.ex09.vector import make_vector, sub
-        v1 = make_vector(2,3)
-        v2 = make_vector(4,5)
-        v_sub = sub(v1, v2)
-        self.assertEqual(v_sub.x, -2)
-        self.assertEqual(v_sub.y, -2)
-
-    def test_hat(self):
-        from cp.ex09.vector import make_vector, hat
-        v = make_vector(2,3)
-        v_hat = hat(v)
-        self.assertEqual(v_hat.x, -3)
-        self.assertEqual(v_hat.y, 2)
-
-
-class TestLineSegmentMethods(UTestCase):
-    def test_make_line_segment(self):
-        from cp.ex09.vector import make_vector, make_line_segment, LineSegment
-        p = make_vector(1, 2)
-        q = make_vector(3, 4)
-        l = make_line_segment(p, q)
-        self.assertIsInstance(l, LineSegment)
-
-
-    def test_point_on_line(self):
-        from cp.ex09.vector import make_vector, make_line_segment, Vector, point_on_line
-        p = make_vector(1, 2)
-        q = make_vector(3, 4)
-        l = make_line_segment(p, q)
-        self.assertIsInstance(point_on_line(l, 0), Vector)
-        self.assertEqual(point_on_line(l, 0).x, p.x)
-        self.assertEqual(point_on_line(l, 0).y, p.y)
-
-        self.assertEqual(point_on_line(l, 1).x, q.x)
-        self.assertEqual(point_on_line(l, 1).y, q.y)
-
-    def test_point_on_line_midpoint(self):
-        from cp.ex09.vector import make_vector, make_line_segment, point_on_line
-        p = make_vector(1, 2)
-        q = make_vector(3, 4)
-        l = make_line_segment(p, q)
-        self.assertEqual(point_on_line(l, .5).x, (p.x+q.x)/2)
-        self.assertEqual(point_on_line(l, .5).y, (p.y+q.y)/2)
-
-class SquareWithLocationTests(UTestCase):
-    def test_make_square(self):
-        from cp.ex09.vector import SquareWithPosition, make_square_with_position
-        sq = make_square_with_position(1, 2, 3)
-        self.assertIsInstance(sq, SquareWithPosition)
-
-    def test_square_to_lines(self):
-        from cp.ex09.vector import make_square_with_position, square_to_lines, LineSegment, point_on_line
-        sq = make_square_with_position(1, 2, 3)
-        lines = square_to_lines(sq)
-        self.assertIsInstance(lines, list, msg="Must return a list")
-        self.assertEqual(len(lines), 4, msg="Must return 4 lines")
-        for l in lines:
-            self.assertIsInstance(l, LineSegment, msg="Must return 4 line segments")
-        tpl = lambda v: (v.x, v.y)
-        lmd = lambda l: tuple( set( (tpl(point_on_line(l, 0) ), tpl(point_on_line(l, 1) )) ) )
-        l2 = list( set( [lmd(l) for l in lines] ) )
-        self.assertEqual(l2[0], ((4,5), (1, 5)), msg="Problem with first line. It should connect points (4,5) -- (1, 5)")
-        self.assertEqual(l2[1], ((1, 2), (4, 2)))
-        self.assertEqual(l2[2], ((1, 2), (1, 5)))
-        self.assertEqual(l2[3], ((4, 5), (4, 2)))
-
-class TestIntersection(UTestCase):
-    def test_do_they_intersect(self):
-        from cp.ex09.vector import make_vector, make_line_segment, do_they_intersect
-        l1 = make_line_segment(make_vector(1, 1), make_vector(4, 1))
-        l2 = make_line_segment(make_vector(2, -2), make_vector(2, 3))
-
-        self.assertTrue( do_they_intersect(l1, l2), msg="These lines should intersect")
-        self.assertTrue( do_they_intersect(l2, l1), msg="Reverse order; lines should still intersect")
-
-        l3 = make_line_segment(make_vector(2, -2), make_vector(-1, 3))
-
-        self.assertFalse(do_they_intersect(l1, l3), msg="These lines should not intersect")
-        self.assertFalse(do_they_intersect(l3, l1), msg="Reverse order; lines should still not intersect")
-
-    def test_intersect(self):
-        from cp.ex09.vector import make_vector, make_line_segment, intersect
-        l1 = make_line_segment(make_vector(1, 1), make_vector(4, 1))
-        l2 = make_line_segment(make_vector(2, -2), make_vector(2, 3))
-        isect = intersect(l1, l2)
-        self.assertAlmostEqual(isect.x,2)
-        self.assertAlmostEqual(isect.y, 1)
-
-class GetAllIntersections(UTestCase):
-    def test_get_intersections_none(self):
-        from cp.ex09.vector import make_line_segment
-        from cp.ex09.vector import make_vector, make_square_with_position, get_intersections
-        sq = make_square_with_position(1, 1, 6)
-        l = make_line_segment(make_vector(-1, 2), make_vector(0, 0.5))
-        intersections = get_intersections(sq, l)
-        self.assertIsInstance(intersections, list)
-        self.assertEqual(len(intersections), 0)
-
-    def test_get_intersections_one(self):
-        from cp.ex09.vector import make_vector, make_square_with_position, get_intersections, make_line_segment
-        sq = make_square_with_position(1, 1, 6)
-        l = make_line_segment(make_vector(-1, 2), make_vector(4, 3))
-        intersections = get_intersections(sq, l)
-        self.assertEqual(len(intersections), 1)
-        self.assertAlmostEqual(intersections[0].x, 1)
-        self.assertAlmostEqual(intersections[0].y, 2.4)
-
-    def test_get_intersections_two(self):
-        from cp.ex09.vector import make_line_segment, make_vector, make_square_with_position, get_intersections
-        sq = make_square_with_position(1, 1, 6)
-        l = make_line_segment(make_vector(-1, 2), make_vector(9, 4))
-        ls = get_intersections(sq, l)
-        self.assertEqual(len(ls), 2)
-        ls = list(set([(ls[0].x, ls[0].y), (ls[1].x, ls[1].y)]))
-
-        self.assertAlmostEqual(ls[0][0], 1, msg="testing x-coordinate of first point")
-        self.assertAlmostEqual(ls[0][1], 2.4, msg="testing y-coordinate of first point")
-
-        self.assertAlmostEqual(ls[1][0], 7, msg="testing x-coordinate of second point")
-        self.assertAlmostEqual(ls[1][1], 3.6, msg="testing y-coordinate of second point")
-
-class Week09Tests(Report):
-    title = "Tests for week 09"
-    version = 1.0
-    url = "https://gitlab.compute.dtu.dk/cp/02002students/-/blob/master/cp/tests"
-    pack_imports = [cp]
-    individual_imports = []
-    questions = [
-        (TestRectangleArea, 10),
-        (TestMakeARectangle, 10),
-        (TestSplitRectangle,10),
-        (TestRectangleInception, 10),
-        (TestMakeVector, 10),
-        (TestVectorOperations, 10),
-        (TestLineSegmentMethods, 10),
-        (TestIntersection, 10),
-        (GetAllIntersections, 10),
-        ]
-    
-
-if __name__ == '__main__':
-    from unitgrade import evaluate_report_student
-    evaluate_report_student(Week09Tests())
diff --git a/cp/tests/tests_week10.py b/cp/tests/tests_week10.py
deleted file mode 100644
index cdc9f6cfb5521c4fbd8c6a9216bef7ede30b64db..0000000000000000000000000000000000000000
--- a/cp/tests/tests_week10.py
+++ /dev/null
@@ -1,79 +0,0 @@
-from unitgrade import UTestCase, Report
-import cp
-
-class TestPerson(UTestCase):
-    def test_init(self):
-        from cp.ex10.hospital import Person
-        self.assertRaises(ValueError, Person, "John Doe", 35, "z")
-
-    def test_str(self):
-        from cp.ex10.hospital import Person
-        person = Person("John Doe", 35, "m")
-        self.assertEqual(str(person), "John Doe, 35m")
-
-class TestPatient(UTestCase):
-    # Test Patient class
-    def test_init(self):
-        from cp.ex10.hospital import Person, Patient
-        patient = Patient("John Doe", 35, "m", "headache")
-        self.assertIsInstance(patient, Person, msg="Patient should inherit from Person")
-        self.assertRaises(ValueError, Patient, "John Doe", 35, "headache", "male")
-
-
-    def test_can_be_treated(self):
-        from cp.ex10.hospital import Patient
-        patient = Patient("John Doe", 35, "m", "headache")
-        self.assertTrue(patient.can_be_treated())
-        patient = Patient("John Doe", 35, "m", "unknown illness")
-        self.assertFalse(patient.can_be_treated())
-
-    def test_str(self):
-        from cp.ex10.hospital import Patient
-        patient = Patient("John Doe", 35, "m", "headache")
-        self.assertEqual(str(patient), "John Doe, 35m: headache")
-
-class TestDoctor(UTestCase):
-    # Test Doctor class
-    def test_init(self):
-        from cp.ex10.hospital import Person, Doctor, Patient
-        doctor = Doctor("Dr. Smith", 45, "f", "head")
-        self.assertIsInstance(doctor, Person, msg="Doctor should inherit from Person")
-        self.assertNotIsInstance(doctor, Patient, msg="Doctor should not inherit from Patient")
-        self.assertRaises(ValueError, Doctor, "John Doe", 35, "feet", "female")
-
-    def test_str(self):
-        from cp.ex10.hospital import Doctor
-        doctor = Doctor("Dr. Smith", 45, "f", "head")
-        self.assertEqual(str(doctor), "Dr. Smith, 45f. Specialization: head")
-
-    def test_can_doctor_treat(self):
-        from cp.ex10.hospital import Doctor, Patient
-        doctor = Doctor("Dr. Smith", 45, "f", "head")
-        patient = Patient("John Doe", 35, "m", "headache")
-        self.assertTrue(doctor.can_doctor_treat(patient))
-        patient = Patient("John Doe", 35, "m", "stepped on lego")
-        self.assertFalse(doctor.can_doctor_treat(patient))
-
-    def test_treatment_cost(self):
-        from cp.ex10.hospital import Doctor, Patient
-        doctor = Doctor("Dr. Smith", 45, "f", "head")
-        patient = Patient("John Doe", 35, "m", "headache")
-        self.assertEqual(doctor.treatment_cost(patient), 100)
-        patient = Patient("John Doe", 35, "m", "toothache")
-        self.assertEqual(doctor.treatment_cost(patient), 200)
-
-class Week10Tests(Report): 
-    title = "Tests for week 10"
-    version = 1.0
-    url = "https://gitlab.compute.dtu.dk/cp/02002students/-/blob/master/cp/tests"
-    pack_imports = [cp]
-    individual_imports = []
-    questions = [
-                (TestPerson, 10),
-                (TestDoctor, 10),
-                (TestPatient, 10),
-                ]
-
-if __name__ == '__main__':
-    from unitgrade import evaluate_report_student
-    evaluate_report_student(Week10Tests())
diff --git a/cp/tests/tests_week11.py b/cp/tests/tests_week11.py
deleted file mode 100644
index 6b86b942b3ddbe6080159612f50919e499fe18c0..0000000000000000000000000000000000000000
--- a/cp/tests/tests_week11.py
+++ /dev/null
@@ -1,84 +0,0 @@
-from unitgrade import Report
-import cp
-from unitgrade import UTestCase
-
-class Week11DotProducta(UTestCase):
-    def test_dot_product_a(self):
-        with self.capture() as c:
-            from cp.ex11.dot_product import dot_product_a
-        result = dot_product_a([1,2,3,4,5],[3,4,5,6,7])
-        self.assertEqual(result, 85.)
-        result = dot_product_a([2,3,7,8,1,12,5,2,9],[8,4,3,4,5,6,7,17,2])
-        self.assertEqual(result, 245.) 
-
-import numpy as np
-class Week11DotProductb(UTestCase):
-    def test_dot_product_b(self):
-        with self.capture() as c:
-            from cp.ex11.dot_product import dot_product_b
-        result = dot_product_b(np.array([1,2,3,4,5]),np.array([3,4,5,6,7]))
-        self.assertEqual(result, 85.)
-        result = dot_product_b(np.array([2,3,7,8,1,12,5,2,9]),np.array([8,4,3,4,5,6,7, 17,2]))
-        self.assertEqual(result, 245.)   
-
-import numpy as np
-class Week11BMICalc(UTestCase):
-    def test_calc_bmi(self):
-        with self.capture() as c:
-            from cp.ex11.BMI_analysis import calc_bmi
-        data = np.array([[1, 1.65, 63.4], 
-                         [2, 1.70, 87.1],
-                         [3, 1.82, 93.7],
-                         [4, 1.62, 105],
-                         [5, 1.97, 61.3], 
-                         [6, 1.62, 78],
-                         [7, 1.73, 99.6],
-                         [8, 1.77, 81],
-                         [9, 1.77, 110.7],
-                         [10, 1.60, 55.2]])
-
-        result = calc_bmi(data)
-        
-        expected_result = np.array([[1.0, 1.65, 63.4, 23.29, 'Normal weight'],
-                                    [2.0, 1.70, 87.1, 30.14, 'Obese'],
-                                    [3.0, 1.82, 93.7, 28.29, 'Overweight'],
-                                    [4.0, 1.62, 105.0, 40.01, 'Obese'],
-                                    [5.0, 1.97, 61.3, 15.8, 'Underweight'],
-                                    [6.0, 1.62, 78.0, 29.72, 'Overweight'],
-                                    [7.0, 1.73, 99.6, 33.28, 'Obese'],
-                                    [8.0, 1.77, 81.0, 25.85, 'Overweight'],
-                                    [9.0, 1.77, 110.7, 35.33, 'Obese'],
-                                    [10.0, 1.60, 55.2, 21.56, 'Normal weight']])
-
-        # Check each element of the arrays individually
-        for i in range(len(result)):
-            for j in range(len(result[i])):
-                self.assertEqual(result[i][j], expected_result[i][j])
-
-class Week11StableMeasurements(UTestCase):
-    def test_stable_measurements(self):
-        with self.capture() as c:
-            from cp.ex11.Stable_measurements import stable_measurements
-        result = stable_measurements(np.array([4.3, 5.7, 5.1, 6.4, 7.9, 12.8]))
-        self.assertEqual(result.tolist(), [6.4, 7.9, 12.8])
-        result = stable_measurements(np.array([4.3, 5.7, 5.1, 8, 7.9, 12.8]))
-        self.assertEqual(result.tolist(),[])   
-        result = stable_measurements(np.array([8, 7.9, 12.8, 14, 17.5, 18.1]))
-        self.assertEqual(result.tolist(),[12.8, 14, 17.5, 18.1])
-
-class Week11Tests(Report): #30 total.
-    title = "Tests for week 11"
-    version = 0.1
-    url = "https://gitlab.compute.dtu.dk/cp/02002students/-/blob/master/cp/tests"
-    pack_imports = [cp]
-    individual_imports = []
-    questions = [
-                (Week11DotProducta, 10),
-                (Week11DotProductb, 10),
-                (Week11BMICalc, 10),
-                (Week11StableMeasurements, 10),
-                ]
-
-if __name__ == '__main__':
-    from unitgrade import evaluate_report_student
-    evaluate_report_student(Week11Tests())
diff --git a/cp/tests/tests_week12.py b/cp/tests/tests_week12.py
deleted file mode 100644
index 5357aa65391c0c76ba142719eae4f0f0cb30783a..0000000000000000000000000000000000000000
--- a/cp/tests/tests_week12.py
+++ /dev/null
@@ -1,24 +0,0 @@
-from unitgrade import Report
-import cp
-from unitgrade import UTestCase
-from cp.ex02.taylor import evaluate_taylor
-
-class HelloWorld(UTestCase):
-    def test_say_hello(self):
-        from cp.ex00 import say_hello
-        evaluate_taylor(2)
-        self.assertEqual(0,0)
-
-class Week12Tests(Report): #240 total.
-    title = "Tests for week 12"
-    version = 0.1
-    url = "https://gitlab.compute.dtu.dk/cp/02002students/-/blob/master/cp/tests"
-    pack_imports = [cp]
-    individual_imports = []
-    questions = [
-                (HelloWorld, 10),
-                ]
-
-if __name__ == '__main__':
-    from unitgrade import evaluate_report_student
-    evaluate_report_student(Week12Tests())
diff --git a/cp/tests/unitgrade_data/AckermannTestCase.pkl b/cp/tests/unitgrade_data/AckermannTestCase.pkl
deleted file mode 100644
index 910f7cc2de020ee6fd29eb0623bfcfe5565a4f60..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/AckermannTestCase.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/Bug.pkl b/cp/tests/unitgrade_data/Bug.pkl
deleted file mode 100644
index 8a17b702d53fc1b20528681d8864c81ab40a0228..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/Bug.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/Dialogue.pkl b/cp/tests/unitgrade_data/Dialogue.pkl
deleted file mode 100644
index a6a3ede1bcafe5d6ff8ac978a7f564fc2d89dde1..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/Dialogue.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/ExponentialTestCase.pkl b/cp/tests/unitgrade_data/ExponentialTestCase.pkl
deleted file mode 100644
index 97ea821838ab5a5d81f01bd8c38f191421e3d500..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/ExponentialTestCase.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/Fibonacci.pkl b/cp/tests/unitgrade_data/Fibonacci.pkl
deleted file mode 100644
index 3264c8b9ec61d856fe4733c20c5520fafcb42d0b..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/Fibonacci.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/GetAllIntersections.pkl b/cp/tests/unitgrade_data/GetAllIntersections.pkl
deleted file mode 100644
index 63dca50f5edd66e0cfa4ccedcfe561b4ee77e8ce..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/GetAllIntersections.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/HeartAttackTests.pkl b/cp/tests/unitgrade_data/HeartAttackTests.pkl
deleted file mode 100644
index d1c1fe967ffe3a758baa25d4b8a8331c9eb747b0..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/HeartAttackTests.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/HelloWorld.pkl b/cp/tests/unitgrade_data/HelloWorld.pkl
deleted file mode 100644
index 7468017d026bfc3611371e29cfd3f261a7ff7e60..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/HelloWorld.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/HelloWorld2.pkl b/cp/tests/unitgrade_data/HelloWorld2.pkl
deleted file mode 100644
index 7a6c14e65ac4ca5174c2f4da822bf4d435d0547f..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/HelloWorld2.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/Math.pkl b/cp/tests/unitgrade_data/Math.pkl
deleted file mode 100644
index 2b011897a8ddbd5a2d938b1fe691b70dd8da2c14..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/Math.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/Palindrome.pkl b/cp/tests/unitgrade_data/Palindrome.pkl
deleted file mode 100644
index 2c574525ad14c369ea638eba3476716ba98bfb31..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/Palindrome.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/Parenthesis.pkl b/cp/tests/unitgrade_data/Parenthesis.pkl
deleted file mode 100644
index d7534eb6d2aeaba77e449509bb44a05f66abe933..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/Parenthesis.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/Prefix.pkl b/cp/tests/unitgrade_data/Prefix.pkl
deleted file mode 100644
index 3ba120b24d7e34733356326e298da9a31086feb4..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/Prefix.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/SayHelloWorld.pkl b/cp/tests/unitgrade_data/SayHelloWorld.pkl
deleted file mode 100644
index 8ac3059c3b0e6890f87831faa86fbe70077821e1..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/SayHelloWorld.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/SolarPanelTests.pkl b/cp/tests/unitgrade_data/SolarPanelTests.pkl
deleted file mode 100644
index 670de247d6c5fdf88e037bfd4efb5f735cab8adb..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/SolarPanelTests.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/Taylor.pkl b/cp/tests/unitgrade_data/Taylor.pkl
deleted file mode 100644
index 8b70f18e571912d24cc12438ab05c8fb26380936..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/Taylor.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/TaylorVariants.pkl b/cp/tests/unitgrade_data/TaylorVariants.pkl
deleted file mode 100644
index ab4f3e20529d3af01f442f59790d42f3220c1916..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/TaylorVariants.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/TestDoctor.pkl b/cp/tests/unitgrade_data/TestDoctor.pkl
deleted file mode 100644
index 5e134ac0f7cab8914ec5e2e6f123c01b892586a3..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/TestDoctor.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/TestIntersection.pkl b/cp/tests/unitgrade_data/TestIntersection.pkl
deleted file mode 100644
index 48440b2efea173d9e4e311568a6c6e23d59f47fa..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/TestIntersection.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/TestLineSegmentMethods.pkl b/cp/tests/unitgrade_data/TestLineSegmentMethods.pkl
deleted file mode 100644
index 1c8915c79bcf2a4392e53329a8d887f8dfb9409e..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/TestLineSegmentMethods.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/TestMakeARectangle.pkl b/cp/tests/unitgrade_data/TestMakeARectangle.pkl
deleted file mode 100644
index 5ce5246ce230dbadc67860780456420f0519bcb6..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/TestMakeARectangle.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/TestMakeVector.pkl b/cp/tests/unitgrade_data/TestMakeVector.pkl
deleted file mode 100644
index 9456269dbea6ac5b6d1179b785b68aa865fe5727..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/TestMakeVector.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/TestPatient.pkl b/cp/tests/unitgrade_data/TestPatient.pkl
deleted file mode 100644
index 98e8e06d8cc3e4ef30ce68022586e8342f3c3deb..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/TestPatient.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/TestPerson.pkl b/cp/tests/unitgrade_data/TestPerson.pkl
deleted file mode 100644
index e3f2ede64d31e312dc1f5aebab255889c386b854..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/TestPerson.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/TestRectangleArea.pkl b/cp/tests/unitgrade_data/TestRectangleArea.pkl
deleted file mode 100644
index 3be1f347e6ee80000a49e85093ba4d3efbf22f11..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/TestRectangleArea.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/TestRectangleInception.pkl b/cp/tests/unitgrade_data/TestRectangleInception.pkl
deleted file mode 100644
index be08539bfdeacf266af3c6bfc54582ec46a074c0..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/TestRectangleInception.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/TestSplitRectangle.pkl b/cp/tests/unitgrade_data/TestSplitRectangle.pkl
deleted file mode 100644
index 1704cb1a03d0cbda77ef206a0ff9318b9f75f152..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/TestSplitRectangle.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/TestVectorOperations.pkl b/cp/tests/unitgrade_data/TestVectorOperations.pkl
deleted file mode 100644
index 2f8b9c9f8f91eacee4a9abd39522e98dbd6c41b4..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/TestVectorOperations.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/Week03BACCalculator.pkl b/cp/tests/unitgrade_data/Week03BACCalculator.pkl
deleted file mode 100644
index 1227cd89e7027b3667dc58fc8f28e0e1d696e43b..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/Week03BACCalculator.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/Week03BodyTemperature.pkl b/cp/tests/unitgrade_data/Week03BodyTemperature.pkl
deleted file mode 100644
index 8a1b312d58841dee2207ce09baf674c1da488050..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/Week03BodyTemperature.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/Week03CompareNumbers.pkl b/cp/tests/unitgrade_data/Week03CompareNumbers.pkl
deleted file mode 100644
index 2cd1319bf671d915fa5d6babc508fab859122eac..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/Week03CompareNumbers.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/Week05Indexing.pkl b/cp/tests/unitgrade_data/Week05Indexing.pkl
deleted file mode 100644
index 855a64ccaf4f790a2c229521e6d400e9c2103d75..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/Week05Indexing.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/Week05Primes.pkl b/cp/tests/unitgrade_data/Week05Primes.pkl
deleted file mode 100644
index b448dc2769dd02ef287fa7206b46f285eb1aa16a..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/Week05Primes.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/Week05UpdatingLists.pkl b/cp/tests/unitgrade_data/Week05UpdatingLists.pkl
deleted file mode 100644
index 769074bad5f4f725a472dc0af0c16882184d882c..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/Week05UpdatingLists.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/Week11BMICalc.pkl b/cp/tests/unitgrade_data/Week11BMICalc.pkl
deleted file mode 100644
index 74b935c405b09efb235eb42fd9eb0ee850b18663..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/Week11BMICalc.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/Week11DotProducta.pkl b/cp/tests/unitgrade_data/Week11DotProducta.pkl
deleted file mode 100644
index a31288fe9438187fea86de10d69ab141a5e40144..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/Week11DotProducta.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/Week11DotProductb.pkl b/cp/tests/unitgrade_data/Week11DotProductb.pkl
deleted file mode 100644
index fa6c7fb56d3b07e6a8007170121ac2d8eb8effa6..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/Week11DotProductb.pkl and /dev/null differ
diff --git a/cp/tests/unitgrade_data/Week11StableMeasurements.pkl b/cp/tests/unitgrade_data/Week11StableMeasurements.pkl
deleted file mode 100644
index cd5ba44b1709325e68f60062a9109c1acb21dfef..0000000000000000000000000000000000000000
Binary files a/cp/tests/unitgrade_data/Week11StableMeasurements.pkl and /dev/null differ