backend + frontend updated