callback is interface now, removed lambdacb