frontend implmentation part 1