port over informal spec