3rd revised and comments added