Code Review

Shaker, here are some comments and suggestions. Review, then close the pull request without merging.