mher: Many smaller changes. Some function names changed due to collisions.