Implementing the frontend