(tnoodle)Merging in changes from gnehzr. I have no idea if this is going to preserve his commit history.