first and last class methods