added proper async callbacks
implement default "test" using mocha