(thanks to QAston, Shauren, Liberate for the discussions and codehelp to sort this out properly) --HG-- branch : trunk