WIP: improved translation, refactor and test