Several parts were inspired by a driver written by: George Psimenos (gp7g14@soton.ac.uk) Steffen Robertz (steffen.robertz@rwth-aachen.de)