refactor picker