clean code. add comments.