major correction in data gathering. Some minor function corrections and little restructuration.