frontend implmentation part 2