update for asynchronicity of callbacks