Revert "Revert "Reconstruction of  front end.""

This reverts commit 0f54767505affdc15a48ac93bfbe65945b95de49.
Revert "Revert "Revert "Reconstruction of  front end."""

This reverts commit 7d3e6d4532e66cae1e06cb40d46417bf20ab78c9.