Tidied code - in particular improved exception safety