Updated with CLList implementation, although untested.
Something stupidh appened