reordered method definitions with most important first