Sort:  

hehe... it's really not THAT complicated, but I will admit I struggled with explaining it without going into tooo much detail :P