Refacto selectable
Handle shift