frontend finished v1