abs chapter 10

There's two commits for exercise 3 otherwise might be a bit difficult to find differences from the original.
This will throw an uninitialised warning for your undef parameters.