Frontend overhaul