Final version for submission
Added more comments