don't require 'return 0' at the end of main function