new file
tidied code