edit by rizzrack will be updated in next few days since i'm working a lot at the moment