fix Shift / UnShift declare bug
add more comments