this gives the compiler a chance to check weather the prototype and definiton matches or not, which would catch issues like 3c47701.
3c47701