Move zex to its own frontend