Refactored code. Is debugged enough to display some functionality.
Revert "Refactored code. Is debugged enough to display some functionality."

This reverts commit c3c9ad4bd36d74d12194240cf2fc8327adfbc08d.
Refactored code.
The makefile modified for 5.1 monolith.