one single callback taking error as first argument
simply put everything in the global scope