The code is a mess...
I will clean it up one day...
But not today :P
