added support for normal map and specular map