Describe a time you had to work with a complex legacy codebase at Smarsh or a similar environment, and how you navigated it to modernize it.