Moved 'simple case' handling up to top level