Submitting new version with proper comments.