Frontend removal plus interface polishing

First commit closes #215
Second one closes #219
Third one closes #218
Nicer!