improved class methods