refactoring towards final edusoft