improve selectionManager