methods seperation, everywhere in fact :D