selection ui and initial js hooks