new patch

if have time i will clean patch