seperate some methods