tidied up for submit