Class remastering

Remastered and rewrote some of the classes in order to maintain code
integrity and incapsulation.