SimpleFactor
refactor and expand 'properly formed' specs