refactor to simplify row swipe; fix bug when swiping has no effect, but still added new tile