pickuwindow refactor, fix #49