Resolved most review comments.  Still need to address re-allocating buffer if size is bigger than existing buffer.