#164 further refactoring and editions