A legacy-to-container (L2C) system converts a computer program in a procedural programming language to an object oriented programming language. The L2C system parses the procedural language to identify program variables and also program sub-elements, such as paragraphs in COBOL for example. The L2C system provides a user interface that allows the user to select which paragraphs should be converted into methods wherein the remaining non-selected paragraphs are to be converted into classes. The L2C system is configured to re-architect the procedural language by (i) creating normal object classes corresponding to the identified variables, (ii) creating methods for the user-selected paragraphs; and (iii) creating classes for the remaining non-selected paragraphs. The L2C further includes various wizards to further facilitate the re-architecting, such as a UI enrichment wizard, a code elimination wizard, and a database optimizer wizard, as well as a code de-duplication wizard, a microservices wizard, and a parallel processing wizard.