todo: add multi-select feature