Super Refactor in the code, added classes to Sprite