refactoring. just comments.
input