non interactive frontend