updated language strings

- refactored code
further refactoring

- finalised button factory and re-implemented functions
- updated constructors references throughout the code