Updated from procedural to object-oriented