classes decriptions and constructors improved