Adding Classes

slowly building the classes, added validation classes, need to test.
Also added comments for clarity