refactor paginate, add tags view