Tidied up to specification