Revised frontend.
Many changes.