Big big big big Update

Rewrite. \o/