Tidied up and simplified some methods