Major refactor

As the result on a pairing session, came up with a big refactor on design and improvement on the pagination interface.