moved some methods to other files