make run abstract so user is forced to implement it. we noticed some funny behavior with spark actions in class body, so keep the action in run method
Merge branch 'master' into tresata