Massive rewriting, still broken