adding full implementation of Texture2D and Colour