add DIY callbacks