slowly building the ui and backend stuff