Description
DRY-principle
Move prototypes to header
Modified Zed Shaw's awesome debug macros
Converted function to macro

Reduces overhead