integrate callbacks