controller part1