Rewritten everything