Fixing validators, adding abstract class suport, refactoring
Merge origin/master