First optional exercise for OOP