Split logical functions - first pass