Add selection api and new input types