a lot of code improvements and refactoring