rewrote the frontend engine again; faster, cleaner to debug