functional programming and explore the new more modular and object-oriented approach to