update example3 for better callback examples