Change behaviour to callback