seriously, need to rewrite the text