naming and comments added