refactor to fragment and added swipe+animations