Redesigned Classes

Redesigned classes to make it more OO.  Custom range/offset may now be
used.