rewrite for compiling