Fleshing out of the classes and methods