Move CanFly to its own file for portability