Adding textures + refactor