diy callback part 3 - compilation