return 0; is implicitly inserted by the compiler