complete refact of carousel controller