clean, reformat, more comments