main page fully functional + fetch