add swipe to delete and some improvements