refactoring
translation + structure changes