Full rework, thank's to PAUR