start implement option filter, sort and paginate