Many changes towards object oriented.