new command and more functional compiling