follow C89 format