Updated with review comments. Will squash