clean up
implement Texture