avoid some unnecessary messages and callbacks (#20)