free fixed and comments added