initial frontend setup and structure