move some methods to their own files