add a convenient method named executeFrom