Refactored all code, added texture