first file can be compiled,  + fixe all warnings