First pass
Second pass