added smooth shading