add more docs on callbacks