add even layout
handle gesture