Better naming and more comments.