refactor selection party