rewrite

tag borrowed form