frontend setup