Rewritten some stuff