cleaned with comments added
cleaned with space adjust