Object Oriented refactoring, added constructor