refactored object structure, changed interfaces classes and mappings