Massive amount of updates based on feedback from @omarreiss, @andizer and @petervw