added dorun* and doall*