Created Required Classes, Put some documentation