frontend architecture