add some ui logic.
push