Forked by @TjRus for adding transitions.

Original code - @LukyVj