Core Classes

Core Classes defined. We need for the next version to implement iedit
and ielement interfaces. Need a refactoring in ielement, also check for
shared members.