moved the CanI helper to core