Documentation added, some clean ups, some naming issues resolved.