--------------------------------------------- thanks to @Coolbe22 for the intro ---------------------------------------------