finished frontend & backend