tidied class methods