rewrite interact