beginnings of better frontend/backend separation