Refactor paginator

TODO: change properties to private