optimizations and refactoring and bug fixes
new art