Refactor chooser copmonents