fixes, refactoring, add new langs