Part 1 done: controller and platform access