refactor design of the picker