single assignment fix