2f642d6 fix subtle bugs