frontend part 1