rewrite of spec and compile