don't autorun callback any more and tighten up code and examples