controller protocol part 1