First setup using callbacks