last time i change it this time i'm 100% happy i will make fix stuff later probably
inspired by @syzygy-