cleaned up, polished, made mergeable