added multiple-tag filtering support, and made a pagination method public for reuse