necessary comments added