Added Object-oriented structure.