Add multi-modes support
Update