comment added,+ some modification