safety commit. still refactoring. CameraController needs some dedication