callback is now always already decoded