reorganized class methods