Some refactorization
New inheritance model implemented
StringUtils needs fixing