merged pr/18, except for wrap-removal