Refactoring of the core objects
Some further development