moving methods to more appropriate places