Split in two modules: frontend and backend