A lot of changes and optimized code
A lot of changes and optimized code