compiler can generate some stuff compiler uses