update core logic to use CG functions

doesn't require AccessibilityPermission any more