Completed the frontend (still needs to be tested)