add auto_assign_button

add 5 functions:
1. expand()
2. expandAll()
3. shrink()
4. shrinkAll()
5. undo_assign()