almost ready for submit, add comments